public ActionResult Index(Persona p, string returnUrl) { ColegioEntities db = new ColegioEntities(); if (p.Dni != 0) { if (p.Contraseña != null && p.Contraseña != "") { try { //busca la persona con el dni y contraseña dada var persona = db.Persona.Where(x => x.Dni == p.Dni && x.Contraseña == p.Contraseña).First(); if (persona != null) { HttpContext.Session["IsAuthenticated"] = true; //si es el administrador if (LoginServicio.EsAdministrador(persona.Dni)) { HttpContext.Session["Role"] = "Administrador"; return(RedirectToAction("Index", "Administrador")); } else if (LoginServicio.EsAlumno(persona.Dni)) { HttpContext.Session["Role"] = "Alumno"; return(View()); } else if (LoginServicio.EsProfesor(persona.Dni)) { HttpContext.Session["Role"] = "Profesor"; HttpContext.Session["Dni"] = persona.Dni; return(RedirectToAction("CursosPorProfe", "Curso")); } } ViewBag.error = "D.N.I. o contraseña incorrecta."; } catch (Exception e) { ViewBag.error = "D.N.I. o contraseña incorrecta."; } } else { ViewBag.errorContraseña = "Ingrese su contraseña"; } } else { ViewBag.errorDni = "Ingrese un dni válido"; } return(View("Index", p)); }
public ActionResult Login(LoginServicio login) { if (!ModelState.IsValid) { return(View()); } else { if (login.CheckProfesor == 1) { if (profesorServicio.VerificarProfesorLogin(login) == 0) { ViewBag.MensajeError = "Email y/o Contraseña inválidos"; return(View()); } else { int idP = profesorServicio.VerificarProfesorLogin(login); Session["id"] = idP; Helpers.SesionHelper.IdUsuario = idP; Helpers.SesionHelper.RolUsuario = "profesor"; login.Roles = "profesor"; FormsAuthentication.SetAuthCookie(login.Email, false); var authTicket = new FormsAuthenticationTicket(1, login.Email, DateTime.Now, DateTime.Now.AddMinutes(20), false, login.Roles); string encryptedTicket = FormsAuthentication.Encrypt(authTicket); var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); HttpContext.Response.Cookies.Add(authCookie); return(RedirectToAction("ProfesorIndex")); } } else { if (alumnoServicio.VerificarAlumnoLogin(login) == 0) { ViewBag.MensajeError = "Email y/o Contraseña inválidos"; return(View()); } else { int idA = alumnoServicio.VerificarAlumnoLogin(login); Session["id"] = idA; Helpers.SesionHelper.IdUsuario = idA; Helpers.SesionHelper.RolUsuario = "alumno"; login.Roles = "alumno"; FormsAuthentication.SetAuthCookie(login.Email, false); var authTicket = new FormsAuthenticationTicket(1, login.Email, DateTime.Now, DateTime.Now.AddMinutes(20), false, login.Roles); string encryptedTicket = FormsAuthentication.Encrypt(authTicket); var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); HttpContext.Response.Cookies.Add(authCookie); return(RedirectToAction("AlumnoIndex", new { id = idA })); } } } }
public LoginControlador(ILoginVista vista) { _vista = vista; _servicio = new LoginServicio(); }