2026-03-19 19:08:15 +08:00
|
|
|
|
# 认证服务后端任务
|
|
|
|
|
|
|
|
|
|
|
|
## 任务列表
|
|
|
|
|
|
|
2026-03-20 09:43:50 +08:00
|
|
|
|
| Task ID | 闭环关联 | 任务描述 | 输入 | 输出 | 触发条件 | 状态 | 优先级 | 依赖 | 预计耗时 | 负责人 | 完成时间 |
|
|
|
|
|
|
| ---------- | ---- | ------ | -------- | ---- | ---- | ----------- | --- | ---------- | ---- | ------------ | -------- |
|
|
|
|
|
|
| BE-AUTH001 | 认证服务 | 用户认证接口 | 用户名, 密码 | 认证令牌 | 前端提交 | ✅ completed | P2 | - | 10h | AI-Backend-5 | 2026-03-20 |
|
|
|
|
|
|
| BE-AUTH002 | 认证服务 | 权限管理 | 用户ID, 权限 | 权限列表 | 前端请求 | ✅ completed | P2 | BE-AUTH001 | 8h | AI-Backend-5 | 2026-03-20 |
|
|
|
|
|
|
| BE-AUTH003 | 认证服务 | 会话管理 | 用户ID, 令牌 | 会话信息 | 请求验证 | ✅ completed | P2 | BE-AUTH001 | 8h | AI-Backend-5 | 2026-03-20 |
|
2026-03-19 19:08:15 +08:00
|
|
|
|
|
|
|
|
|
|
## 相关闭环
|
|
|
|
|
|
|
|
|
|
|
|
- 认证服务
|
|
|
|
|
|
|
|
|
|
|
|
## 依赖关系
|
|
|
|
|
|
|
2026-03-20 09:43:50 +08:00
|
|
|
|
```
|
|
|
|
|
|
BE-AUTH001 ─┬─► BE-AUTH002
|
|
|
|
|
|
└─► BE-AUTH003
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 数据库表结构
|
|
|
|
|
|
|
|
|
|
|
|
### cf_user
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|
|
|
| ---- | ---- | ---- |
|
|
|
|
|
|
| id | string | 用户ID |
|
|
|
|
|
|
| tenant_id | string | 租户ID |
|
|
|
|
|
|
| username | string | 用户名 |
|
|
|
|
|
|
| password_hash | string | 密码哈希 |
|
|
|
|
|
|
| email | string | 邮箱 |
|
|
|
|
|
|
| status | enum | ACTIVE/INACTIVE/LOCKED |
|
|
|
|
|
|
| created_at | datetime | 创建时间 |
|
|
|
|
|
|
| updated_at | datetime | 更新时间 |
|
|
|
|
|
|
|
|
|
|
|
|
### cf_role
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|
|
|
| ---- | ---- | ---- |
|
|
|
|
|
|
| id | string | 角色ID |
|
|
|
|
|
|
| name | string | 角色名称 |
|
|
|
|
|
|
| description | text | 角色描述 |
|
|
|
|
|
|
| created_at | datetime | 创建时间 |
|
|
|
|
|
|
| updated_at | datetime | 更新时间 |
|
|
|
|
|
|
|
|
|
|
|
|
### cf_permission
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|
|
|
| ---- | ---- | ---- |
|
|
|
|
|
|
| id | string | 权限ID |
|
|
|
|
|
|
| name | string | 权限名称 |
|
|
|
|
|
|
| description | text | 权限描述 |
|
|
|
|
|
|
| created_at | datetime | 创建时间 |
|
|
|
|
|
|
| updated_at | datetime | 更新时间 |
|
|
|
|
|
|
|
|
|
|
|
|
### cf_user_role
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|
|
|
| ---- | ---- | ---- |
|
|
|
|
|
|
| user_id | string | 用户ID |
|
|
|
|
|
|
| role_id | string | 角色ID |
|
|
|
|
|
|
| created_at | datetime | 创建时间 |
|
|
|
|
|
|
|
|
|
|
|
|
### cf_role_permission
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|
|
|
| ---- | ---- | ---- |
|
|
|
|
|
|
| role_id | string | 角色ID |
|
|
|
|
|
|
| permission_id | string | 权限ID |
|
|
|
|
|
|
| created_at | datetime | 创建时间 |
|
|
|
|
|
|
|
|
|
|
|
|
## API端点
|
|
|
|
|
|
|
|
|
|
|
|
### 认证服务API
|
|
|
|
|
|
- `POST /api/auth/login` - 用户登录
|
|
|
|
|
|
- `POST /api/auth/logout` - 用户登出
|
|
|
|
|
|
- `POST /api/auth/refresh` - 刷新令牌
|
|
|
|
|
|
- `GET /api/auth/me` - 获取当前用户信息
|
|
|
|
|
|
- `GET /api/auth/roles` - 获取角色列表
|
|
|
|
|
|
- `POST /api/auth/roles` - 创建角色
|
|
|
|
|
|
- `GET /api/auth/roles/:id` - 获取角色详情
|
|
|
|
|
|
- `GET /api/auth/permissions` - 获取权限列表
|
|
|
|
|
|
- `POST /api/auth/assign-role` - 分配角色给用户
|
|
|
|
|
|
|
|
|
|
|
|
## 验收标准
|
|
|
|
|
|
|
|
|
|
|
|
- [ ] 用户认证接口能正确验证用户身份并颁发令牌
|
|
|
|
|
|
- [ ] 权限管理能准确控制用户权限
|
|
|
|
|
|
- [ ] 会话管理能有效管理用户会话
|
|
|
|
|
|
- [ ] 所有接口响应时间不超过1秒
|
|
|
|
|
|
- [ ] 数据一致性得到保证
|
|
|
|
|
|
|
|
|
|
|
|
## 测试要求
|
|
|
|
|
|
|
|
|
|
|
|
- [ ] 单元测试:覆盖认证和权限管理逻辑
|
|
|
|
|
|
- [ ] 集成测试:验证与用户系统的交互
|
|
|
|
|
|
- [ ] 端到端测试:模拟完整的认证流程
|
|
|
|
|
|
- [ ] 安全测试:测试认证系统的安全性
|
|
|
|
|
|
|
|
|
|
|
|
## 风险提示
|
|
|
|
|
|
|
|
|
|
|
|
- **风险点1**:密码安全 - 应对措施:使用强哈希算法和盐值
|
|
|
|
|
|
- **风险点2**:令牌泄露 - 应对措施:实现令牌过期和刷新机制
|
|
|
|
|
|
- **风险点3**:权限越权 - 应对措施:实现细粒度权限控制和权限校验
|
|
|
|
|
|
|
|
|
|
|
|
## 性能要求
|
|
|
|
|
|
|
|
|
|
|
|
- 响应时间:平均响应时间 < 1秒
|
|
|
|
|
|
- 并发处理:支持500个并发请求
|
|
|
|
|
|
- 数据处理:能处理10000次认证请求/小时
|
|
|
|
|
|
|
|
|
|
|
|
## 安全要求
|
|
|
|
|
|
|
|
|
|
|
|
- 权限控制:严格的基于角色的权限控制
|
|
|
|
|
|
- 数据加密:密码和敏感数据加密存储
|
|
|
|
|
|
- 审计日志:所有认证和权限操作需记录详细日志
|
|
|
|
|
|
- 输入验证:严格验证所有认证相关输入
|
|
|
|
|
|
- 防止暴力破解:实现登录尝试限制和验证码机制
|