|
|
@@ -338,6 +338,7 @@ T001 -> T002 -> T003 -> T004 -> T005
|
|
|
|
|
|
|
T004 --------------------------------> T010
|
|
|
T001..T010 --------------------------> T011
|
|
|
+T005..T007 --------------------------> T012
|
|
|
```
|
|
|
|
|
|
- T001、T002 是所有业务故事的阻塞基础。
|
|
|
@@ -355,3 +356,25 @@ T001..T010 --------------------------> T011
|
|
|
| FR-024、FR-025、FR-026、FR-027 | T007、T009、T011 |
|
|
|
| FR-028、FR-029、FR-030、FR-031、FR-032、FR-033、FR-034、FR-035 | T004、T005、T010 |
|
|
|
| SC-001、SC-002、SC-003、SC-004、SC-005、SC-006、SC-007、SC-008、SC-009 | T003~T011 |
|
|
|
+| FR-036、FR-037、SC-010 | T012 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Phase 7:统一商家会话认证
|
|
|
+
|
|
|
+### T012 将商家 Redis 会话校验收口到认证层
|
|
|
+
|
|
|
+**文件:**
|
|
|
+
|
|
|
+- 修改:`ruoyi-system/src/main/java/com/ruoyi/system/utils/Auth.java`
|
|
|
+- 修改:`ruoyi-system/src/main/java/com/ruoyi/system/utils/AuthAspect.java`
|
|
|
+- 修改:`ruoyi-admin/src/main/java/com/ruoyi/app/user/MerchantTokenSessionService.java`
|
|
|
+- 修改:当前调用 `MerchantTokenSessionService.requireUserId` 的商家 Controller
|
|
|
+- 新增或修改:认证切面、商家店铺和商家订单定向测试
|
|
|
+
|
|
|
+- [ ] 先写认证切面测试,覆盖启用会话校验时有效 JTI 放行、缺失 JTI/Redis Key 拒绝,以及默认 `@Auth` 不增加 Redis 会话要求;运行并确认 RED。
|
|
|
+- [ ] 为 `@Auth` 增加默认关闭的会话校验选项,由 `AuthAspect` 在 JWT 校验通过后检查 JTI 对应 Redis Key,并使用现有国际化登录失效错误。
|
|
|
+- [ ] 商家业务入口显式启用会话校验,删除 Controller 对 `MerchantTokenSessionService.requireUserId` 的调用;Controller 只从已验证 Token 获取登录用户 ID 并继续执行目标实体归属校验。
|
|
|
+- [ ] `MerchantTokenSessionService` 删除身份认证职责,只保留退出当前会话、撤销账号全部 App/PC 会话和在线状态查询。
|
|
|
+- [ ] 运行认证切面、商家登录、店铺和订单定向测试,并使用 JDK 21 构建 `ruoyi-admin` 及依赖模块。
|
|
|
+- [ ] 检查 `git diff --check`、暂存文件清单和测试结果,形成独立中文提交并推送当前分支。
|