// GET: CAUsuarios/Login public ActionResult Login(string urlRetorno) { if (Session["usuario"] != null) { return(RedirectToAction("IndexInterno", "Home")); } FormularioLogin form = new FormularioLogin(); form.urlRetorno = urlRetorno; return(View(form)); }
public async Task <ActionResult> Login(FormularioLogin form) { CAUsuario usuario = null; try { string senhaC = funcoesUteis.Criptografar(form.usuario.senha); if (db.CAUsuario.Where(o => o.email.Equals(form.usuario.email) && o.senha.Equals(senhaC)).Any()) { usuario = await db.CAUsuario.Where(o => o.email.Equals(form.usuario.email) && o.senha.Equals(senhaC)).FirstAsync(); if (usuario != null) { CALogAcesso log = new CALogAcesso(); log.fkUsuario = usuario.pkUsuario; log.dataHora = DateTime.Now; log.ip = funcoesUteis.recuperaIpUsuario(); db.CALogAcesso.Add(log); await db.SaveChangesAsync(); Session.Add("usuario", usuario); if (!string.IsNullOrEmpty(form.urlRetorno) && Url.IsLocalUrl(form.urlRetorno)) { return(Redirect(form.urlRetorno)); } else { return(RedirectToAction("IndexInterno", "Home")); } } } else { ModelState.AddModelError("usuario.senha", "Usuário ou senha não conferem!"); return(View()); } } catch (Exception er) { ModelState.AddModelError("usuario.senha", "Usuário ou senha não conferem!"); return(View()); } return(View()); }