30 lines
1.5 KiB
Markdown
30 lines
1.5 KiB
Markdown
# 用户修改密码强密码校验实施记录
|
||
|
||
## 保存路径检查
|
||
|
||
- 本次为功能修改实施记录,保存路径确认使用 `docs/reports/implementation/`。
|
||
|
||
## 修改内容
|
||
|
||
- 后端新增 `PasswordStrengthUtils`,统一校验强密码规则。
|
||
- 个人中心修改密码接口 `/system/user/profile/updatePwd` 在旧密码正确后,校验新密码必须满足强密码要求,再校验新旧密码不能相同。
|
||
- 前端个人中心“修改密码”表单同步强密码校验提示,提交前拦截弱密码。
|
||
- 新增后端单元测试覆盖强密码通过、缺少字符类型、长度不合规、空白与非法字符等场景。
|
||
|
||
## 强密码规则
|
||
|
||
- 长度为 8 到 20 位。
|
||
- 必须同时包含大写字母、小写字母、数字和特殊字符。
|
||
- 不能包含空格或字符:`< > " ' \ |`。
|
||
|
||
## 影响范围
|
||
|
||
- 影响用户个人中心修改密码功能。
|
||
- 不调整登录、注册、管理员新增用户、管理员重置密码等其他密码入口。
|
||
|
||
## 验证情况
|
||
|
||
- `mvn -pl ruoyi-admin -am -Dtest=PasswordStrengthUtilsTest -Dsurefire.failIfNoSpecifiedTests=false test`:通过,3 个强密码规则用例全部成功。
|
||
- `source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use && node -v && npm run build:prod`:通过,Node 版本为 `v14.21.3`;构建仅保留既有 asset size / entrypoint size 警告。
|
||
- 真实页面验证:登录 `http://localhost:9528/user/profile`,进入“修改密码”,输入新密码 `Abc12345` 后点击保存,页面展示强密码校验提示并拦截提交。
|