From 9051497704fbee3fbf6855869ca213bdb2ac8131 Mon Sep 17 00:00:00 2001 From: wangziqi Date: Thu, 2 Jul 2026 11:38:07 +0800 Subject: [PATCH] chore: check off Task 4 (Auth module integration) --- docs/superpowers/plans/2026-07-02-rbac-refactor.md | 12 ++++++------ openspec/changes/rbac-refactor/tasks.md | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/superpowers/plans/2026-07-02-rbac-refactor.md b/docs/superpowers/plans/2026-07-02-rbac-refactor.md index cb679c4..207bdfb 100644 --- a/docs/superpowers/plans/2026-07-02-rbac-refactor.md +++ b/docs/superpowers/plans/2026-07-02-rbac-refactor.md @@ -759,7 +759,7 @@ git commit -m "feat(rbac): add PermissionGuard, @Public and @RequirePermission d - Consumes: `RbacService.getUserPermissions(userId)` (from Task 2) - Produces: login 返回 `{ access_token, user: { id, username, name, roles, permissions } }`, JWT payload 包含 `{ sub, username, permissions }` -- [ ] **Step 1: 修改 AuthModule 导入 RbacModule** +- [x] **Step 1: 修改 AuthModule 导入 RbacModule** ```typescript // backend/src/auth/auth.module.ts @@ -797,7 +797,7 @@ export class AuthModule {} 注意:移除 `OnModuleInit` 实现,`initAdmin` 已迁移至 `RbacModule`。 -- [ ] **Step 2: 修改 AuthService.login() 集成权限查询** +- [x] **Step 2: 修改 AuthService.login() 集成权限查询** 在 `backend/src/auth/auth.service.ts` 中: @@ -891,7 +891,7 @@ export class AuthService { 保留 `validateUser()`(供 JwtStrategy 使用)和 `recordFailedAttempt()`(私有)。 -- [ ] **Step 3: 修改 AuthController** +- [x] **Step 3: 修改 AuthController** 在 `backend/src/auth/auth.controller.ts` 中: @@ -948,7 +948,7 @@ export class AuthController { - `PUT /auth/users/:id/password` → 迁移至 `/rbac/users/:id/password PUT` - `DELETE /auth/users/:id` → 迁移至 `/rbac/users/:id DELETE` -- [ ] **Step 4: 修改 JwtStrategy** +- [x] **Step 4: 修改 JwtStrategy** ```typescript // backend/src/auth/strategies/jwt.strategy.ts @@ -977,7 +977,7 @@ export class JwtStrategy extends PassportStrategy(Strategy) { } ``` -- [ ] **Step 5: 编译验证** +- [x] **Step 5: 编译验证** ```bash cd backend && npx tsc --noEmit @@ -985,7 +985,7 @@ cd backend && npx tsc --noEmit 预期:无类型错误。如有循环依赖错误,确认 `forwardRef` 已正确配置。 -- [ ] **Step 6: Commit** +- [x] **Step 6: Commit** ```bash git add backend/src/auth/ diff --git a/openspec/changes/rbac-refactor/tasks.md b/openspec/changes/rbac-refactor/tasks.md index a22841e..903b837 100644 --- a/openspec/changes/rbac-refactor/tasks.md +++ b/openspec/changes/rbac-refactor/tasks.md @@ -19,8 +19,8 @@ - [x] 3.1 创建 @RequirePermission 装饰器(支持 AND/OR 语义,通过 SetMetadata 存储权限列表和逻辑模式) - [x] 3.2 创建 PermissionGuard:从 JWT payload 中读取 permissions 数组,与装饰器标注的权限做匹配 -- [ ] 3.3 修改 JwtStrategy 和 AuthService.login:登录时调用 getUserPermissions,将 permissions 写入 JWT payload -- [ ] 3.4 修改 AuthService.validateUser/profile:返回用户信息时携带角色和权限列表 +- [x] 3.3 修改 JwtStrategy 和 AuthService.login:登录时调用 getUserPermissions,将 permissions 写入 JWT payload +- [x] 3.4 修改 AuthService.validateUser/profile:返回用户信息时携带角色和权限列表 - [ ] 3.5 全局注册 PermissionGuard(或在各模块按需注册) ## 4. 现有接口批量加守卫