Skip to content

RBAC 文档

本目录说明 Beta 的权限定义、角色授权、Legacy 同步和接口鉴权。模块配置定义权限目录;Legacy 同步提供兼容权限基线,Beta 角色页面通过独立的 grant/deny 记录补充或撤销权限。

开发新页面或给现有页面补权限,先看权限定义与接入,按普通文件示例完成定义、同步、路由鉴权和角色授权。

按任务阅读

场景文档
定义细粒度权限、接入自动 CRUD 鉴权、迁移老 manage 权限权限定义与接入
给路由、Service 或 Blade 增加权限判断使用指南
首次运行同步或排查同步结果同步规范
排查遗留登录态和 Redis SessionSession Redis 桥接
修改表结构、同步逻辑或权限解析数据模型算法说明
修改容器绑定或 Foundation 内部实现Foundation 架构

常用命令

bash
cd beta

php artisan lims:rbac-sync
php artisan lims:rbac-verify
php artisan test tests/Feature/Console/Commands/Rbac

Legacy 权限或菜单规则变更后,需要同步和校验。Beta 新权限先在模块配置中定义并同步,再到角色页面授权;角色成员也由 Beta 页面维护。普通同步不会覆盖 Beta 的角色成员和 grant/deny 记录。

当前约定

  • RBAC_ENFORCE 控制路由用户权限检查,当前配置位置为 config/lims_rbac.php。自动中间件在关闭该开关时仍检查路由格式和权限目录。
  • 单段 ability(如 viewupdate)交给 Laravel Policy;RBAC 中间件使用至少两段的点式权限码。
  • RBAC 只解决“能做什么”。中心、客户、资源归属和版本等范围限制仍由模块的 Data Scope 与 Service 校验。
  • 菜单隐藏不等于接口授权;路由和资源操作都要有服务端检查。

文档说明

权限定义与接入是当前开发接入教程。快速开始使用指南同步规范仍有旧版示例,包括两段权限码、旧解析器,以及当前同步命令不支持的参数;新接入的命名、授权和命令用法以新教程及当前代码为准。