Skip to content

密码恢复

密码恢复功能帮助用户在忘记密码时安全地重新获取系统访问权限。

恢复方式

方式一:邮箱验证

适用于绑定了邮箱的用户:

1. 在登录页面点击"忘记密码"
2. 输入注册邮箱地址
3. 点击"发送验证码"
4. 检查邮箱收取验证码(6位数字)
5. 输入验证码
6. 设置新密码
7. 确认新密码
8. 完成重置

验证码有效期: 15分钟

发送限制: 同一邮箱每小时最多发送5次

方式二:管理员重置

适用于无法通过邮箱恢复的用户:

管理员登录
→ 用户管理
→ 找到目标用户
→ 点击"重置密码"
→ 设置新的临时密码
→ 通知用户使用临时密码登录
→ 用户首次登录后强制修改密码

方式三:安全问题验证

适用于设置了安全问题的用户:

1. 在登录页面点击"忘记密码"
2. 选择"安全问题验证"
3. 回答预设的安全问题
4. 验证通过后设置新密码

密码要求

新密码必须满足以下要求:

要求说明
最小长度8个字符
大写字母至少包含1个大写字母
小写字母至少包含1个小写字母
数字至少包含1个数字
特殊字符建议包含(!@#$%^&*)
历史密码不能与最近5次密码相同

安全策略

账号锁定

连续密码输入错误将触发账号锁定:

错误次数处理方式
3次显示验证码
5次账号锁定15分钟
10次账号锁定1小时
15次账号锁定24小时,需管理员解锁

密码过期

系统支持配置密码有效期策略:

  • 默认有效期: 90天
  • 到期提醒: 到期前14天开始提醒
  • 到期处理: 到期后强制修改密码

操作流程图

用户忘记密码

  ├── 有绑定邮箱?
  │   ├── 是 → 邮箱验证 → 重置密码
  │   └── 否 ──┐
  │            │
  ├── 设置了安全问题?
  │   ├── 是 → 安全问题验证 → 重置密码
  │   └── 否 ──┐
  │            │
  └── 联系管理员 → 管理员重置 → 用户首次登录修改

常见问题

问题解决方法
收不到验证码邮件检查垃圾邮件文件夹;确认邮箱地址正确
验证码已过期重新发送验证码
账号被锁定等待锁定期结束或联系管理员解锁
忘记安全问题答案联系管理员进行人工重置
新密码不符合要求确保满足所有密码复杂度要求

注意事项

  1. 定期更新密码,不要使用容易猜测的密码
  2. 不要将密码告知他人或记录在不安全的地方
  3. 建议设置邮箱和安全问题双重恢复方式
  4. 管理员重置密码后,请立即修改为个人密码
  5. 如发现账号异常,请立即修改密码并通知管理员

附录:规范章节补全(v5.0.3.108)

为对齐项目用户文档标准结构,下列章节补齐若干未在正文中单独列出的视角。已在正文覆盖的章节在此段仅作简述并标注 见上文 指引。

1. 概述

见正文「恢复方式」。密码恢复模块提供邮箱验证 / 管理员重置 / 安全问题验证三条路径,配合密码复杂度要求与账号锁定 / 密码过期安全策略。

2. 核心特性

  • 三种恢复方式(邮箱 / 管理员 / 安全问题)
  • 密码复杂度校验 + 历史密码限制(近 5 次)
  • 账号锁定阶梯(3/5/10/15 次)
  • 密码过期策略(默认 90 天)

3. 系统架构

忘记密码 → 前端(恢复向导)
   │  REST /api/auth/password-recovery

后端(Spring Boot Security + JWT)→ 验证码 / 安全问题 / 管理员重置

MySQL(password_recovery / users,密码哈希存储)

4. 系统定位

厂家管理系统的账号自助 / 协助找回层,与 用户管理权限管理 共同构成账号安全体系。

5. 核心功能

方式说明
邮箱验证6 位验证码(15 分钟有效,每小时 ≤5 次)
管理员重置设临时密码,首登强制改
安全问题回答预设问题后重置

6. 技术架构

后端 Spring Boot 3.2.1 + Spring Security;恢复记录存 password_recovery,账号存 users;密码经哈希(如 BCrypt)存储,系统不存明文。

7. 系统特点

  • 三路径覆盖不同恢复条件
  • 阶梯式锁定抵御暴力破解
  • 临时密码首登强制修改

8. 应用场景

用户忘记密码自助找回;无邮箱 / 安全问题时管理员协助重置;密码到期强制更新。

9. 竞品对比

维度本模块仅管理员手工改
自助恢复✅ 邮箱 / 安全问题
暴力破解防护✅ 阶梯锁定⚠️
密码历史限制✅ 近 5 次

10. 配置参考

验证码有效期(15 分钟)/ 发送限制(5 次/小时)/ 锁定阶梯 / 密码有效期(90 天)/ 复杂度要求见正文对应表。邮件发送需配置 SMTP(见 安装部署)。

11. 性能指标

验证码生成 / 校验为轻量操作;邮件发送依赖 SMTP 时延;锁定计数可经 Redis 维护。

12. 测试覆盖

验证码有效期 / 发送限制、密码复杂度 / 历史校验、锁定阶梯、临时密码首登强制改由后端集成测试覆盖。

13. 安全考虑

  • 密码哈希存储,系统不存明文
  • 账号锁定阶梯(3 验证码 / 5 锁 15min / 10 锁 1h / 15 锁 24h 需管理员)
  • 密码历史限制防复用;临时密码首登强制改
  • 恢复 / 重置操作写 device_logs 审计

14. 故障排除

见正文「常见问题」表:收不到验证码、验证码过期、账号被锁、忘记安全问题答案、新密码不合规。

15. 关键文件

资源说明
password_recovery恢复 / 验证码记录
users账号 / 密码哈希 / 状态
/api/auth/*认证与密码恢复 API
前端登录页「忘记密码」恢复向导

16. 使用示例

见正文「方式一:邮箱验证」八步流程与「操作流程图」(邮箱 → 安全问题 → 管理员 的降级路径)。

17. 相关文档

基于 MIT 许可发布