示例#1
0
        public ActionResult Index(string User, string Pass)
        {
            try
            {
                var    data = Encoding.UTF8.GetBytes(Pass);
                byte[] hash;
                using (SHA512 shaM = new SHA512Managed())
                {
                    hash = shaM.ComputeHash(data);
                }

                using (LateOSEntities db = new LateOSEntities())
                {
                    V_Usuarios oUser = (from d in db.V_Usuarios
                                        where d.clte_Correo == User.Trim() && d.usu_Password == hash
                                        select d).FirstOrDefault();
                    if (oUser == null)
                    {
                        ViewBag.Error   = "Usuario o contraseña invalida";
                        Session["User"] = null;
                        return(View());
                    }
                    Session["User"] = oUser;

                    V_Usuarios  objSesesion = (V_Usuarios)Session["User"];
                    Usuario_Rol ruta        = (from d in db.Usuario_Rol
                                               where d.usu_Id == objSesesion.usu_Id
                                               select d).FirstOrDefault();

                    if (ruta.tbRol.nombre == "admin")
                    {
                        Session["rol"] = "admin";
                        return(RedirectToAction("InfoStatus", "Home"));
                    }
                    else
                    {
                        Session["rol"] = "cliente";
                        return(RedirectToAction("Index", "Home"));
                    }
                }

                return(View());
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
                return(View());
            }
        }
示例#2
0
        public ActionResult Recovery(string token)
        {
            RecoveryPasswordViewModel model = new RecoveryPasswordViewModel();

            model.token = token;
            using (LateOSEntities db = new LateOSEntities())
            {
                if (model.token == null || model.token.Trim().Equals(""))
                {
                    return(View("Index"));
                }
                var oUser = db.tbUsuarios.Where(d => d.usu_Token == model.token).FirstOrDefault();
                if (oUser == null)
                {
                    ViewBag.Error = "Tu token ha expirado";
                    return(View("Index"));
                }
            }


            return(View(model));
        }
示例#3
0
        public ActionResult Recovery(RecoveryPasswordViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(model));
                }
                var    data = Encoding.UTF8.GetBytes(model.Password);
                byte[] hash;
                using (SHA512 shaM = new SHA512Managed())
                {
                    hash = shaM.ComputeHash(data);
                }

                using (LateOSEntities db = new LateOSEntities())
                {
                    var oUser = db.tbUsuarios.Where(d => d.usu_Token == model.token).FirstOrDefault();

                    if (oUser != null)
                    {
                        oUser.usu_Password    = hash;
                        oUser.usu_Token       = null;
                        db.Entry(oUser).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            ViewBag.Message = "Contraseña modificada con éxito";
            return(View("Index"));
        }