public ActionResult Login(FormCollection form)
        {
            string correoElectronico = form["correoElectronico"];
            string password          = form["password"];

            try
            {
                using (GCPContext db = new GCPContext()) {
                    UserManager um     = new UserManager();
                    Usuarios    dbUser = um.EsValido(db, correoElectronico, password);

                    if (dbUser != null && dbUser.EsActivo)
                    {
                        UserState userState = new UserState();
                        userState.FromUser(dbUser);

                        IdentitySignIn(userState);

                        return(RedirectToAction("Index", "Home"));
                    }
                }

                // invalid username or password
                ModelState.AddModelError("", "Usuario o contraseña no válidos.");
                return(View());
            }
            catch (Exception ex)
            {
                // invalid username or password
                ModelState.AddModelError("", ex.Message);
                return(View());
            }
        }
Ejemplo n.º 2
0
        public Usuarios EsValido(GCPContext db, string correoElectronico, string password)
        {
            string decodedPassword = Base64Encode(password);

            return(db.Usuarios.Where(u => u.CorreoElectronico == correoElectronico && u.Password == decodedPassword && u.EsActivo).FirstOrDefault());
        }