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()); } }
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)); }
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")); }