//estou recebendo um adinistrador e uma string url que vem pelo metodo get que quando voce accessa o login ela esta na url 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 { //validaçao do forms que passa o usuario com seu login e passa o parametro falando que o cookie nao é permanente, //entao se o usuario sair do sistema terá que passar as informaçoes novame FormsAuthentication.SetAuthCookie(admin.Login, false); //validando a url se ela for maior que 1 quer dizer que a url nao esta vazia //se ela comecar com uma barra pq na url começa com uma barra //se ela nao tiver 2 barras um uma barra e 2 barras invertidas if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return(Redirect(returnUrl)); } //return Redirect("/Administrativo/Produto/Index"); return(RedirectToAction("Index", "Produto", new { area = "Administrativo" })); } } else { //TempData["mens"] = string.Format("{0} foi salvo com sucesso", admin.Login); ModelState.AddModelError("", "Administrador não localizado"); //Mensagem de Admin nao lcalizado } } 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"); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return(Redirect(returnUrl)); } } 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 { //Administrador não localizado ModelState.AddModelError("", "Administrador não localizado"); } } return(View(new Administrador())); }
public ActionResult Login(Administrador administrador, string returnUrl) { _repositorio = new AdministradoresRepositorio(); if (ModelState.IsValid) { //Verifica se o login e senha informados existem no banco Administrador admin = _repositorio.ObterAdministrador(administrador); if (admin != null) { if (!Equals(administrador.Senha, admin.Senha.ToString().Trim())) { ModelState.AddModelError("", "Senha não confere"); } else { FormsAuthentication.SetAuthCookie(admin.Login, false); //Validando a URL 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 encontrado"); } } return(View(new Administrador())); }