public ActionResult Validate(CambioPasswordVista model) { if (model != null && ModelState.IsValid) { //recuperamos el usuario y guardamos la password nueva var username = CustomIdentity.GetIdUsuario(model.UsuarioActual); using (var db = new UCEMEDbEntities()) { var usu = db.Usuario.FirstOrDefault(o => o.idUsuario == username); var passwencriptada = Encodificacion.GetSha1(model.PasswordNueva); if (usu != null) { usu.password = passwencriptada; } else { //las passwords no coindiden ViewBag.error = "UsuarioNoEncontrado"; return(View(model)); } //usu.password = model.PasswordNueva; db.SaveChanges(); } } else { //las passwords no coindiden ViewBag.error = "PasswordsNoCoinciden"; return(View(model)); } return(RedirectToAction("Login", "Seguridad")); }
public ActionResult Validate(string email, string token) { var username = CustomIdentity.GetIdUsuario(email); if (username != -1) { //recuperamos el usuario var usu = ConsultasBbdd.GetUsuariobyId(username); //decodificamos var emaildeco = Encodificacion.DecodeMessageWithPassword(token, usu.password); //comprobamos que coincide la deco con la de la base de datos if (emaildeco == usu.login) { //redirigimos a la vista de recuperar password var pass = new CambioPasswordVista { UsuarioActual = usu.login }; return(View(pass)); } //las passwords no coinciden return(RedirectToAction("ErrorRecovery", "Seguridad")); } //esta mal el email return(RedirectToAction("ErrorRecovery", "Seguridad")); }