public void ModifyPassword(ModifyPwdViewModel viewModel) { var oldPassword = viewModel.OldPassword; var password = viewModel.NewPassword; var repeatPassword = viewModel.RepeatPassword; CommUtils.Assert(oldPassword.Length >= 6, "原密码格式错误,密码最小长度为六位"); CommUtils.AssertEquals(repeatPassword, password, "两次输入密码不一致"); CommUtils.Assert(password.Length >= 6, "新密码最小长度为六位"); var user = UserService.GetUserById(CurrentUserId); CommUtils.Assert(user != null, "用户[{0}]信息错误,无法修改密码", CurrentUser.UserName); var result = SignInManager.PasswordSignInAsync(user.UserName, oldPassword, true, false).Result; CommUtils.Assert(result != SignInStatus.Success || result != SignInStatus.LockedOut, "输入用户名和密码不匹配,如遗忘密码,请联系管理员进行密码重置"); UserService.SetPasswordHashAsync(CurrentUser, password); }
public JsonResult SaveModifiedPwd(ModifyPwdViewModel modifyModel) { var errorInfo = new ApiErrorBean(); // 确认密码不匹配 if (!modifyModel.NewPassword.Trim().Equals(modifyModel.ConfirmPassword.Trim())) { errorInfo.isError = true; errorInfo.code = 1; errorInfo.message = "两次新密码输入不一致,请重新输入!"; return(Json(errorInfo)); } var keyValue = new ApiKeyValueBean { key = modifyModel.OldPassword, value = modifyModel.NewPassword }; var savePara = new ApiRequestSaveEntityBean <ApiKeyValueBean> { userId = modifyModel.UserId, entity = keyValue }; // 保存修改密码 errorInfo = _userInfoAppService.UserEditPwd(savePara); if (!errorInfo.isError)//写入密码修改记录 { _userPwdAppService.InsertUserPwdLog(new Dto.UserPwdLogDto { NewPwd = EncryptHelper.AesDecrpt(modifyModel.NewPassword), OldPwd = EncryptHelper.AesDecrpt(modifyModel.OldPassword), UserId = modifyModel.UserId }); } return(Json(errorInfo)); }