Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }