public ActionResult Login(Administrador administrador, string returnUrl) { _repositorio = new AdministradoresRepositorio(); if (ModelState.IsValid) { Administrador admin = _repositorio.ObterAdministrador(administrador); if (admin != null) { if (!Equals(administrador.Senha, admin.Senha)) { ModelState.AddModelError("", "Senha não confere!."); } else { //cookie nao vai ser permanente, se ele fecha a pag. vai ter que autentica novamente - false FormsAuthentication.SetAuthCookie(admin.Login, false); //Url.IsLocalUrl - retorna true or false if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return Redirect(returnUrl); } return RedirectToAction("Index", "Produto", new { area = "Administrativo" }); } } else { ModelState.AddModelError("", "Administrador não localizado."); } } return View(new Administrador()); }
public Administrador ObterAdministrador(Administrador administrador) { return _context.Administradores.FirstOrDefault(a => a.Login == administrador.Login); }