コード例 #1
0
        public ActionResult CadastroUsuario(UsuarioViewModel usuarioViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(usuarioViewModel));
            }

            //Verifica se já existe usuário cadastrado com mesmo login
            if (contexto.Usuario.Count(u => u.Login == usuarioViewModel.Login) > 0)
            {
                ModelState.AddModelError("Login", "Já existe usuário com este Login");
                return(View(usuarioViewModel));
            }

            Usuario usuario = new Usuario
            {
                Nome  = usuarioViewModel.Nome,
                Login = usuarioViewModel.Login,
                Senha = GeradorHash.GeraHash(usuarioViewModel.Senha)
            };

            contexto.Usuario.Add(usuario);
            contexto.SaveChanges();


            TempData["Mensagem"] = "Cadastro realizado com sucesso. Favor efetuar login.";

            return(RedirectToAction("Login"));
        }
コード例 #2
0
        public ActionResult Login(LoginViewModel loginViewModel)
        {
            //verificar erro de validação
            if (!ModelState.IsValid)
            {
                return(View(loginViewModel));
            }

            //localizar usuario no DB
            var usuario = contexto.Usuario.FirstOrDefault(u => u.Login == loginViewModel.Login);

            //verificando dados login
            if (usuario == null)
            {
                ModelState.AddModelError("Login", "Login incorreto");
                return(View(loginViewModel));
            }
            if (usuario.Senha != GeradorHash.GeraHash(loginViewModel.Senha))

            {
                ModelState.AddModelError("Senha", "Senha incorreta");
                return(View(loginViewModel));
            }

            //define identidade do usuario
            var identity = new ClaimsIdentity(new[]
            {
                new Claim(ClaimTypes.Name, usuario.Nome),
                new Claim("Login", usuario.Login)
            }, "ApplicationCookie");

            Request.GetOwinContext().Authentication.SignIn(identity);

            //redirecionamento do usuario logado
            if (!String.IsNullOrWhiteSpace(loginViewModel.UrlRetorno) || Url.IsLocalUrl(loginViewModel.UrlRetorno))
            {
                return(Redirect(loginViewModel.UrlRetorno));
            }
            else
            {
                return(RedirectToAction("Index", "Genero"));
            }
        }