Files
hs-end/doc/TASK004-用户认证模块.md
lxy 5a671c4233 first
demo
2025-08-25 16:01:26 +08:00

37 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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