public ActionResult ChangePassword(string key) { if (key == null) { var login = Session[Constants.SESSION_USER_NAME]; if (login == null) return View(); var userPassword = new UserPassword(login.ToString(), true); Session["ReturnUrl"] = Request.UrlReferrer; return View(userPassword); } var result = ServiceProxySingleton.Instance.GetUserPasswordByCode(key); if (result.IsError()) { SessionHelper.ClearSession(result.ErrorMessage); return RedirectToAction("LogOn", "Login"); } return View(result.AttachedObject); }
public BaseResult ChangePassword(UserPassword userPassword) { var user = Db.GetAndAuthenticateUser( new LogonArg { Login = userPassword.UserName, PasswordHash = userPassword.OldPassword, Salt = userPassword.Salt }); if (user == null) return new BaseResult { ErrorMessage = Messages.UserNotFoundByPassword }; if (user.Password == userPassword.Password) return new BaseResult { ErrorMessage = Messages.NewPasswordIsNotDifferentFromTheOld }; user.Password = userPassword.Password; Db.Save(user); return new BaseResult(); }
public ActionResult ChangePassword(UserPassword userPassword) { if (ModelState.IsValid) { userPassword.Password = CryptHelper.GetSha512Base64Hash(userPassword.UserName.ToLower() + userPassword.Password); BaseResult result; if (userPassword.OldPasswordNeeded) { userPassword.Salt = RandomHelper.GetRandomString(10); userPassword.OldPassword = CryptHelper.GetSha512Base64Hash(userPassword.Salt + CryptHelper.GetSha512Base64Hash(userPassword.UserName.ToLower() + userPassword.OldPassword)); result = ServiceProxySingleton.Instance.ChangePassword(userPassword); } else result = ServiceProxySingleton.Instance.ForgotPassword(userPassword); if (result.IsSuccess()) { if (Session["ReturnUrl"] != null) { var url = Session["ReturnUrl"].ToString(); Session["ReturnUrl"] = null; return Redirect(url); } TempData["SuccessMessage"] = Messages.ChangePasswordSuccess; return RedirectToAction("LogOn", "Login"); } ModelState.AddModelError("", result.ErrorMessage); } else { var errors = ModelState.Values.SelectMany(v => v.Errors).Select(x => x.ErrorMessage).Distinct().ToArray(); foreach (var e in errors) ModelState.AddModelError("", e); } return View(userPassword); }
public BaseResult ForgotPassword(UserPassword userPassword) { var user = Db.GetUserByLogin(userPassword.UserName); if (user == null) return new LoginResult { ErrorMessage = Messages.WrongLogin }; var temporaryCode = Db.GetTemporaryCodeByUserId(user.UserId); if (temporaryCode == null || temporaryCode.Code != userPassword.Code) return new BaseResult { ErrorMessage = Messages.CantForgotPassword }; if (temporaryCode.ExpireDate < DateTime.Now) return new BaseResult { ErrorMessage = Messages.TemporaryCodeExpired }; Db.Delete(temporaryCode); user.Password = userPassword.Password; Db.Save(user); return new BaseResult(); }
public BaseResult ForgotPassword(UserPassword userPassword) { return SendPostRequest<BaseResult, UserPassword>("forgotPassword", userPassword); }
public BaseResult ChangePassword(UserPassword userPassword) { return SendPostRequest<BaseResult, UserPassword>("changePassword", userPassword); }