public ActionResult Login(UsuarioViewModelLogin model) { // Verifica se os dados do model estão de acordo com as regras do UsuarioViewModelLogin if (ModelState.IsValid) { try { UsuarioDal uDal = new UsuarioDal(); Usuario usuario = uDal.FindByLoginSenha(model.Login, Criptografia.EncryptMD5(model.Senha)); if (usuario != null) //usuario foi encontrado? { // Transferir os dados do usuario para a classe de modelo.. UsuarioAutenticado auth = new UsuarioAutenticado(); auth.IdUsuario = usuario.IdUsuario; auth.Nome = usuario.Nome; auth.Login = usuario.Login; auth.Perfil = usuario.Perfil.Nome; // Criar o ticket de acesso FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(JsonConvert.SerializeObject(auth), false, 5); // Gravar o ticket em cookie HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket)); // Gravar o cookie Response.Cookies.Add(cookie); // Redirecionar para a área restrita return(RedirectToAction("Index", "Home")); } else { TempData["Falha"] = "Acesso Negado. Tente novamente"; } //ViewBag.Mensagem = "Acesso Negado.Tente novamente"; } catch (Exception e) { TempData["Falha"] = e.Message; } } return(View()); }