外观
RBAC 文档
本目录说明 Beta 的权限定义、角色授权、Legacy 同步和接口鉴权。模块配置定义权限目录;Legacy 同步提供兼容权限基线,Beta 角色页面通过独立的 grant/deny 记录补充或撤销权限。
开发新页面或给现有页面补权限,先看权限定义与接入,按普通文件示例完成定义、同步、路由鉴权和角色授权。
按任务阅读
| 场景 | 文档 |
|---|---|
| 定义细粒度权限、接入自动 CRUD 鉴权、迁移老 manage 权限 | 权限定义与接入 |
| 给路由、Service 或 Blade 增加权限判断 | 使用指南 |
| 首次运行同步或排查同步结果 | 同步规范 |
| 排查遗留登录态和 Redis Session | Session Redis 桥接 |
| 修改表结构、同步逻辑或权限解析 | 数据模型、算法说明 |
| 修改容器绑定或 Foundation 内部实现 | Foundation 架构 |
常用命令
bash
cd beta
php artisan lims:rbac-sync
php artisan lims:rbac-verify
php artisan test tests/Feature/Console/Commands/RbacLegacy 权限或菜单规则变更后,需要同步和校验。Beta 新权限先在模块配置中定义并同步,再到角色页面授权;角色成员也由 Beta 页面维护。普通同步不会覆盖 Beta 的角色成员和 grant/deny 记录。
当前约定
RBAC_ENFORCE控制路由用户权限检查,当前配置位置为config/lims_rbac.php。自动中间件在关闭该开关时仍检查路由格式和权限目录。- 单段 ability(如
view、update)交给 Laravel Policy;RBAC 中间件使用至少两段的点式权限码。 - RBAC 只解决“能做什么”。中心、客户、资源归属和版本等范围限制仍由模块的 Data Scope 与 Service 校验。
- 菜单隐藏不等于接口授权;路由和资源操作都要有服务端检查。
文档说明
权限定义与接入是当前开发接入教程。快速开始、使用指南和同步规范仍有旧版示例,包括两段权限码、旧解析器,以及当前同步命令不支持的参数;新接入的命名、授权和命令用法以新教程及当前代码为准。