public ActionResult Entrar(LoginViewModel loginViewModel) { if (ModelState.IsValid) { // Buscamos o usuário de nosso "Banco de Dados" por seu login e senha. Usuario usuarioEncontrado = _usuarioServico.BuscarUsuarioPorAutenticacao( loginViewModel.Email, loginViewModel.Senha ); if (usuarioEncontrado != null) { // É sempre bom criar uma Model só para o usuário logado. // Digamos que você queira utilizar somente a classe Usuário para isso, // então se quisesse guardar coisas que são da sessão e não da classe usuário, como faria? // mudaria a classe Usuario? Não, porque não é de sua responsabilidade os dados de sessão. // mas uma view model pode ser mais flexivel. var usuarioLogadoModel = new UsuarioLogadoModel(usuarioEncontrado); // Encapsulamos aqui a regra para criar a sessão. ServicoDeSessao.CriarSessao(usuarioLogadoModel); return(RedirectToAction("AreaSecreta")); } else { ModelState.AddModelError("INVALID_USER", "Usuário ou senha inválido."); } } return(View("Index", loginViewModel)); }
public ActionResult Entrar(LoginViewModel loginViewModel) { if (ModelState.IsValid) { Usuario usuarioEncontrado = _usuarioServico.BuscarUsuarioPorAutenticacao( loginViewModel.Email, loginViewModel.Senha ); if (usuarioEncontrado != null) { var usuarioLogadoModel = new UsuarioLogadoModel(usuarioEncontrado); ServicoDeSessao.CriarSessao(usuarioLogadoModel); return(AcaoInicial()); } else { ModelState.AddModelError("INVALID_USER", "Usuário ou senha inválido."); } } return(View("Index", loginViewModel)); }