Files
lotteryLaravel/docs/admin-rbac.md
kang 1d31f9e872 feat(admin): 更新后台权限管理与同步逻辑,简化权限检查并优化文档
- 新增后台 RBAC 相关文档,提供权限目录与维护命令说明。
- 移除不必要的角色资源同步检查,简化权限审计命令。
- 更新权限描述与同步逻辑,确保一致性与可维护性。
- 统一权限注册表,替换过时的权限别名,增强代码可读性。
2026-05-22 16:11:48 +08:00

1.7 KiB
Raw Blame History

后台 RBAC 与导航分工

单一真相源

能力 来源 说明
侧栏 / auth/menavigation App\Support\AdminAuthorizationRegistry::navigationDefinitions() 代码注册表,改菜单需发版
角色可勾选的产品权限 prd.* 同上 permissionDefinitions() UI 展示名与 permission_code 映射
API 鉴权 permission_code 库表 admin_menu_actions 运行时校验
路由资源 库表 admin_api_resources + admin_api_resource_bindings php artisan lottery:admin-auth-sync 从 Registry 同步

admin_menus 不是侧栏配置

  • admin_menus:仅用于 admin_menu_actions 的业务分组(权限模块树)。
  • 不要通过改 admin_menus 期望侧栏变化;侧栏只看 Registry + 用户拥有的 prd.*

角色权限如何存储

  • 权威数据admin_role_menu_actions(角色 ↔ 动作权限)。
  • prd.* 展示:由 AdminPermissionBridge::legacySlugsGrantedByMenuActionCodes() 从已授权动作反推,不单独落库。
  • 用户直接授权:admin_user_menu_actions(可选,与角色权限合并生效)。

维护命令

php artisan lottery:admin-auth-sync --audit   # 同步 API 资源与 bindings并体检
php artisan lottery:admin-auth-audit          # 仅体检路由覆盖与 binding

已废弃的 prd.*(请求体仍可传入,会自动归一)

旧 slug 归一为
prd.audit.all / prd.audit.self / prd.audit.finance prd.audit.view
prd.report.all / prd.report.risk / prd.report.finance / prd.report.player prd.report.view