diff --git a/.kiro/specs/admin-management-features/tasks.md b/.kiro/specs/admin-management-features/tasks.md index 64148ee..63d6f27 100644 --- a/.kiro/specs/admin-management-features/tasks.md +++ b/.kiro/specs/admin-management-features/tasks.md @@ -272,60 +272,60 @@ ## 阶段五:权限管理系统(优先级:高) ### 16. Spatie Permission 包安装和配置 -- [ ] 16.1 安装 Spatie Permission 包 - - [ ] 16.1.1 运行 composer require spatie/laravel-permission - - [ ] 16.1.2 发布配置文件和迁移文件 - - [ ] 16.1.3 运行迁移创建权限表 - - [ ] 16.1.4 清除缓存 -- [ ] 16.2 配置 User 模型 - - [ ] 16.2.1 在 User 模型中添加 HasRoles trait - - [ ] 16.2.2 配置守卫(guard) - - [ ] 16.2.3 测试基本权限方法 -- [ ] 16.3 创建权限种子数据 - - [ ] 16.3.1 创建 PermissionSeeder - - [ ] 16.3.2 定义所有功能模块的权限(45个权限) - - [ ] 16.3.3 创建预设角色(super-admin、admin、user) - - [ ] 16.3.4 为角色分配权限 - - [ ] 16.3.5 运行种子数据 +- [x] 16.1 安装 Spatie Permission 包 + - [x] 16.1.1 运行 composer require spatie/laravel-permission + - [x] 16.1.2 发布配置文件和迁移文件 + - [x] 16.1.3 运行迁移创建权限表 + - [x] 16.1.4 清除缓存 +- [x] 16.2 配置 User 模型 + - [x] 16.2.1 在 User 模型中添加 HasRoles trait + - [x] 16.2.2 配置守卫(guard) + - [x] 16.2.3 测试基本权限方法 +- [x] 16.3 创建权限种子数据 + - [x] 16.3.1 创建 PermissionSeeder + - [x] 16.3.2 定义所有功能模块的权限(45个权限) + - [x] 16.3.3 创建预设角色(super-admin、admin、user) + - [x] 16.3.4 为角色分配权限 + - [x] 16.3.5 运行种子数据 ### 17. 角色管理功能 -- [ ] 17.1 创建 RoleResource - - [ ] 17.1.1 定义表格列(名称、守卫、权限数、用户数) - - [ ] 17.1.2 添加搜索和筛选功能 - - [ ] 17.1.3 添加系统角色标识(super-admin不可删除) -- [ ] 17.2 创建角色表单 - - [ ] 17.2.1 添加基本信息字段(名称、守卫) - - [ ] 17.2.2 添加权限选择器(使用 CheckboxList,按模块分组) - - [ ] 17.2.3 添加表单验证规则 - - [ ] 17.2.4 实现权限同步逻辑(使用 syncPermissions) -- [ ] 17.3 实现角色删除保护 - - [ ] 17.3.1 检查角色是否为 super-admin - - [ ] 17.3.2 检查角色是否有关联用户 - - [ ] 17.3.3 添加删除确认提示 -- [ ] 17.4 测试角色管理功能 - - [ ] 17.4.1 测试角色 CRUD 操作 - - [ ] 17.4.2 测试权限分配(syncPermissions) - - [ ] 17.4.3 测试删除保护 +- [x] 17.1 创建 RoleResource + - [x] 17.1.1 定义表格列(名称、守卫、权限数、用户数) + - [x] 17.1.2 添加搜索和筛选功能 + - [x] 17.1.3 添加系统角色标识(super-admin不可删除) +- [x] 17.2 创建角色表单 + - [x] 17.2.1 添加基本信息字段(名称、守卫) + - [x] 17.2.2 添加权限选择器(使用 CheckboxList,按模块分组) + - [x] 17.2.3 添加表单验证规则 + - [x] 17.2.4 实现权限同步逻辑(使用 syncPermissions) +- [x] 17.3 实现角色删除保护 + - [x] 17.3.1 检查角色是否为 super-admin + - [x] 17.3.2 检查角色是否有关联用户 + - [x] 17.3.3 添加删除确认提示 +- [x] 17.4 测试角色管理功能 + - [x] 17.4.1 测试角色 CRUD 操作 + - [x] 17.4.2 测试权限分配(syncPermissions) + - [x] 17.4.3 测试删除保护 ### 18. 用户权限管理功能 -- [ ] 18.1 更新 UserResource - - [ ] 18.1.1 添加角色分配字段(使用 Select,支持多选) - - [ ] 18.1.2 添加分组关联字段 - - [ ] 18.1.3 添加直接权限配置 Section(使用 CheckboxList) - - [ ] 18.1.4 显示用户的所有权限预览(角色权限+直接权限) -- [ ] 18.2 实现用户权限保存逻辑 - - [ ] 18.2.1 使用 syncRoles 同步角色 - - [ ] 18.2.2 使用 syncPermissions 同步直接权限 - - [ ] 18.2.3 处理权限冲突(直接权限优先) -- [ ] 18.3 创建权限预览组件 - - [ ] 18.3.1 使用 Placeholder 组件显示权限 - - [ ] 18.3.2 按模块分组显示 - - [ ] 18.3.3 标识权限来源(角色/直接授予) - - [ ] 18.3.4 支持权限搜索 -- [ ] 18.4 测试用户权限功能 - - [ ] 18.4.1 测试角色分配(assignRole、syncRoles) - - [ ] 18.4.2 测试直接权限配置(givePermissionTo、syncPermissions) - - [ ] 18.4.3 测试权限检查(hasPermissionTo、can) +- [x] 18.1 更新 UserResource + - [x] 18.1.1 添加角色分配字段(使用 Select,支持多选) + - [x] 18.1.2 添加分组关联字段 + - [x] 18.1.3 添加直接权限配置 Section(使用 CheckboxList) + - [x] 18.1.4 显示用户的所有权限预览(角色权限+直接权限) +- [x] 18.2 实现用户权限保存逻辑 + - [x] 18.2.1 使用 syncRoles 同步角色 + - [x] 18.2.2 使用 syncPermissions 同步直接权限 + - [x] 18.2.3 处理权限冲突(直接权限优先) +- [x] 18.3 创建权限预览组件 + - [x] 18.3.1 使用 Placeholder 组件显示权限 + - [x] 18.3.2 按模块分组显示 + - [x] 18.3.3 标识权限来源(角色/直接授予) + - [x] 18.3.4 支持权限搜索 +- [x] 18.4 测试用户权限功能 + - [x] 18.4.1 测试角色分配(assignRole、syncRoles) + - [x] 18.4.2 测试直接权限配置(givePermissionTo、syncPermissions) + - [x] 18.4.3 测试权限检查(hasPermissionTo、can) ### 19. 权限策略实现 - [ ] 19.1 DocumentPolicy(已部分实现,需完善)