public ActionResult Ingresar(LoginWrapper model) { if (ModelState.IsValid) { UserAuthenticationService usuarioService = model.Profesor ? (UserAuthenticationService) new ProfesorService() : (UserAuthenticationService) new AlumnoService(); UsuarioWrapper usuarioWrapper = usuarioService.GetUsuarioByLogin(model); if (usuarioWrapper != null) { var cacheWrapper = new CacheWrapper { IdUsuario = usuarioWrapper.IdUsuario, Username = usuarioWrapper.Username, Nombre = usuarioWrapper.Nombre, IdPerfil = Convert.ToInt32(usuarioWrapper.PerfilUsuario), }; string loginJson = new JavaScriptSerializer().Serialize(cacheWrapper); var ticket = new FormsAuthenticationTicket(1, usuarioWrapper.IdUsuario.ToString(), DateTime.Now, DateTime.Now.AddDays(2), true, loginJson, FormsAuthentication.FormsCookiePath); string encTicket = FormsAuthentication.Encrypt(ticket); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); FormsAuthentication.SetAuthCookie(loginJson, false); System.Web.HttpContext.Current.Session.Timeout = 2500; UserCache.IdUsuario = usuarioWrapper.IdUsuario; UserCache.Username = usuarioWrapper.Username; UserCache.IdPerfil = Convert.ToInt32(usuarioWrapper.PerfilUsuario); if (!string.IsNullOrEmpty(model.ReturnUrl)) { return(Redirect(model.ReturnUrl)); } return(model.Profesor ? RedirectToAction("HomeProfesores", "Profesores") : RedirectToAction("HomeAlumnos", "Alumnos")); } ModelState.AddModelError("", ""); } return(View(model)); }
public override UsuarioWrapper GetUsuarioByLogin(LoginWrapper loginWrapper) { UsuarioWrapper usuarioWrapper = null; Profesor profesor = this._profesorRepository.GetByLogin(loginWrapper); if (profesor != null) { usuarioWrapper = new UsuarioWrapper { IdUsuario = profesor.IdProfesor, Username = string.Format("{0} {1} (Profesor)", profesor.Nombre, profesor.Apellido), Nombre = string.Format("{0} {1}", profesor.Nombre, profesor.Apellido), PerfilUsuario = EnumPerfilUsuario.Docente }; } return(usuarioWrapper); }
public override UsuarioWrapper GetUsuarioByLogin(LoginWrapper loginWrapper) { UsuarioWrapper usuarioWrapper = null; Alumno alumno = this._alumnoRepository.GetByLogin(loginWrapper); if (alumno != null) { usuarioWrapper = new UsuarioWrapper { IdUsuario = alumno.IdAlumno, Username = string.Format("{0} {1} (Alumno)", alumno.Nombre, alumno.Apellido), Nombre = string.Format("{0} {1}", alumno.Nombre, alumno.Apellido), PerfilUsuario = EnumPerfilUsuario.Alumno }; } return(usuarioWrapper); }