/// <summary> /// 保存用户信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public ApiUserBean UserSave(ApiRequestSaveEntityBean <ApiUserBean> request) { var userId = request.userId; var token = request.authToken; var entity = request.entity; var userInfo = _userRepository.FirstOrDefault(u => u.Id == userId); var roleIds = userInfo.Roles.Select(r => r.RoleId).ToList(); var roleList = _roleRepository.GetAll().Where(r => roleIds.Contains(r.Id)).ToList(); userInfo.PhoneNumber = entity.phoneNumber; userInfo.Name = entity.name; _userRepository.Update(userInfo); return(entity); }
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)); }
/// <summary> /// 修改密码 /// </summary> /// <param name="request"></param> /// <returns></returns> public ApiErrorBean UserEditPwd(ApiRequestSaveEntityBean <ApiKeyValueBean> request) { var errorInfo = new ApiErrorBean(); var userId = request.userId; var oldPwd = EncryptHelper.AesDecrpt(request.entity.key); var newPwd = EncryptHelper.AesDecrpt(request.entity.value); try { DataTable dt = DbHelper.ExecuteGetTable("select id,PASSWORD from ABP_USERS where id='" + userId + "'"); if (dt != null && dt.Rows.Count > 0) { object uid = dt.Rows[0]["ID"]; if (uid != null && Convert.ToInt32(uid) > 0) { #region 验证旧密码 var hashHandler = new PasswordHasher(); var verifiedResult = hashHandler.VerifyHashedPassword(dt.Rows[0]["PASSWORD"].ToString(), oldPwd); //旧密码不匹配 if (!verifiedResult.Equals(PasswordVerificationResult.Success)) { errorInfo.isError = true; errorInfo.code = 3; errorInfo.message = "旧密码错误"; return(errorInfo); } #endregion #region 密码复杂度 string resComplex = ValidateComplex(newPwd); if (!string.IsNullOrEmpty(resComplex) && resComplex.Length > 0) { errorInfo.isError = true; errorInfo.code = 3; errorInfo.message = "密码复杂度不够:\r\n" + resComplex; return(errorInfo); } #endregion Common.DbHelper.Execute("update ABP_USERS set PASSWORD='******' where ID=" + uid); } } else { errorInfo.isError = true; errorInfo.code = 2; errorInfo.message = "当前用户不存在"; return(errorInfo); } } catch (Exception ex) { errorInfo.isError = true; errorInfo.code = 2; errorInfo.message = "异常错误:" + ex.Message; return(errorInfo); } errorInfo.isError = false; errorInfo.code = 0; errorInfo.message = "修改成功"; return(errorInfo); }