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 { FormsAuthentication.SetAuthCookie(admin.Login,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 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()); }