Files
hs-end/doc/TASK004-用户认证模块.md

37 lines
1.8 KiB
Markdown
Raw Normal View History

2025-08-25 16:01:26 +08:00
# TASK004 - 用户认证模块
## 任务信息
- **任务编号**: TASK004
- **任务名称**: 用户认证模块
- **版本**: V1.0
- **状态**: ✅ 完成
## 任务描述
实现用户认证相关功能包括用户注册、登录、登出、获取用户信息等接口集成JWT认证机制实现用户数据的增删改查操作。
## 验收标准清单
- [x] 实现用户注册接口(/api/auth/register - 完成,支持邮箱、密码、昵称注册
- [x] 实现用户登录接口(/api/auth/login - 完成返回JWT token和用户信息
- [x] 实现用户登出接口(/api/auth/logout - 完成token加入黑名单机制
- [x] 实现获取用户信息接口(/api/user/info - 完成,支持当前用户和公开用户信息
- [x] 集成JWT认证拦截器 - 完成自动验证token和设置用户上下文
- [x] 实现密码加密和验证 - 完成使用BCrypt加密
- [x] 实现邮箱格式验证和重复性检查 - 完成,注册时检查邮箱唯一性
- [x] 创建UserService、UserController和相关DTO - 完成,完整的服务层和控制层
- [x] 实现token黑名单机制 - 完成使用Redis存储黑名单token
- [x] 添加登录失败次数限制 - 完成Redis记录失败次数15分钟锁定
## 注意事项
1. 注册时需要验证邮箱格式和唯一性
2. 登录成功后返回JWT token和用户基本信息不能返回密码
9. 邮箱字段需要转换为小写存储
12. 注册时可以设置默认头像
13. 需要记录用户最后登录时间
14. 实现用户状态管理(正常、锁定、删除)
## 相关文件
- src/main/java/com/lxy/hsend/controller/AuthController.java
- src/main/java/com/lxy/hsend/controller/UserController.java
- src/main/java/com/lxy/hsend/service/UserService.java
- src/main/java/com/lxy/hsend/dto/auth/
- src/main/java/com/lxy/hsend/config/JwtAuthenticationFilter.java