public async Task <AppSrvResult> UpdatePasswordAsync(long id, UserChangePwdDto input) { var user = await _userRepository.FetchAsync(x => new { x.Id, x.Salt, x.Password, }, x => x.Id == id); if (user == null) { return(Problem(HttpStatusCode.NotFound, "用户不存在,参数信息不完整")); } var md5OldPwdString = HashHelper.GetHashedString(HashType.MD5, input.OldPassword, user.Salt); if (!md5OldPwdString.EqualsIgnoreCase(user.Password)) { return(Problem(HttpStatusCode.BadRequest, "旧密码输入错误")); } var newPwdString = HashHelper.GetHashedString(HashType.MD5, input.Password, user.Salt); await _userRepository.UpdateAsync(new SysUser { Id = user.Id, Password = newPwdString }, UpdatingProps <SysUser>(x => x.Password)); return(AppSrvResult()); }
public async Task <Tuple <bool, string> > ChangeUserPwd(UserChangePwdDto pwdDto) { var user = await _userManager.GetUserByIdAsync(pwdDto.Id); if (user == null) { return(new Tuple <bool, string>(false, "无可用操作对象")); } if (!_userManager.CheckUserPwd(user, pwdDto.OldPassword)) { return(new Tuple <bool, string>(false, "旧密码不正确")); } var result = await _userManager.ChangePasswordAsync(user, pwdDto.Password); return(new Tuple <bool, string>(result.Succeeded, result.Errors.ToString())); }
public async Task <JsonResult> SaveProfile(UserChangePwdDto pwdDto) { CheckModelState(); bool status = false; string message = ""; try { var tupleResult = await _userAppService.ChangeUserPwd(pwdDto); status = tupleResult.Item1; message = tupleResult.Item2; } catch (Exception e) { status = false; message = e.Message; } return(Json(new { success = status, message = message })); }
public async Task <ActionResult> ChangePassword([FromBody] UserChangePwdDto input) => Result(await _accountService.UpdatePasswordAsync(_userContext.Id, input));