Skip to content

权限规则 ★ ​

一句话:权限规则 = 行级数据权限的「过滤器定义」——用「模板 + 参数」描述「哪些行可见」(如:只看自己的、只看本部门的、状态在某集合内的)。它本身不授权,被角色资源授权的「行过滤规则」引用后才生效。

功能在哪 ​

  • 菜单路径:系统管理 → 组织权限 → 权限管理 → 权限规则
  • 地址栏路由:/system/org-permission/perm/rule

权限规则列表(租户管理员视角)

界面认识 ​

区域作用常用操作
查询区规则名称 / 规则模板 / 来源(系统内置·自定义)/ 状态 / 创建时间「搜索」「重置」
工具条「新增」建自定义规则;勾选后「批量删除」内置规则不可勾选
列表规则编号 / 规则名称 / 来源 / 模板 / 参数 / 描述 / 状态 / 创建时间内置行「查看」;自定义行「编辑」「删除」

「来源」列区分两类:

来源能否改/删说明
系统内置只读(行内只有「查看」,删除按钮置灰)平台预置的通用规则,保证升级不丢
自定义可编辑可删除租户按业务自己拼模板参数

常用操作 ​

新建自定义规则 ​

  1. 点「新增」;
  2. 填「规则名称」——给管理员看的名字,如「仅查看自己的数据」;
  3. 选「规则模板」:可直接输入模板代码,也可从分组下拉里选(基础模板 / 派生可见性 / 高级 三组);选中后下方「模板说明」会显示该模板的口径;
  4. 填「模板参数」——模板留的空,如部门 ID 集合、状态集合;
  5. 填「规则描述」——会显示在授权页的规则下拉里,帮人选规则时判断用途;
  6. 确认「状态」,点「确定」。

新增规则表单:模板分组下拉 + 模板说明 + 参数(租户管理员视角)

结果:列表多出一行「自定义」;角色资源授权的「行过滤规则」下拉立即能选到它。

规则只是定义,不绑主体不生效

建完规则后,还要到角色资源授权把它挂到某角色对某数据集的授权行上,才会真正过滤行。

查看 / 编辑规则 ​

  • 内置规则:行内「查看」,只读弹窗;
  • 自定义规则:行内「编辑」,改完「确定」。

改参数立即影响所有引用它的授权

一条规则可能被多个角色的多条授权行引用。改参数 = 同时改这些人的可见行范围。改前在权限资源的「明细设计 → 授权列表」反查引用面。

删除 / 批量删除 ​

勾选自定义规则后「批量删除」(内置规则勾不了)。

被引用中的规则删不掉

后端会拒绝并提示仍有授权在使用;先到角色资源授权把相关授权行的规则解绑。

字段说明 ​

字段必填取值 / 校验说明
规则名称是文本授权页下拉里显示的名字
规则模板是模板代码或分组下拉决定规则的算法口径
模板说明—只读选中模板后自动显示
模板参数视模板JSON/集合模板留的空;缺参数规则不生效
规则描述否文本展示给管理员判断用途
状态是开启 / 关闭关闭后引用它的授权行不再按此过滤

视角对照 ​

视角看到什么
超管 / 租户管理员内置 + 自定义全部规则,可建自定义
只有查询权限的角色能看列表,「新增/编辑/删除」不出现
普通员工无入口,直达 403

规则效果在业务页上验证

给 docsales 挂上「仅自己的数据」后,它登录在线表单「校验示例4-唯一性长度与脱敏」时行数从 8 变 2。端到端配置与验证步骤见场景教程配置行级数据权限。

进阶 ​

  • 角色资源授权:规则的引用处(授权行「行过滤规则」列);
  • 权限资源:数据集资源的「槽位映射」页签,决定规则参数怎么落到物理表字段;
  • 权限诊断:看某用户最终命中了哪条规则。

常见问题 ​

Q:内置规则为什么没有「编辑」? A:内置只读:不能改、不能删、不能改状态(删除按钮置灰并带提示「内置规则只读」)。要变体就「新增」一条自定义,选同一模板改参数。

Q:规则建好了,授权页下拉里选不到? A:两个常见原因——规则状态是关闭;或所选资源不是数据集类(行过滤只对数据集有意义)。

Q:挂了规则后用户「一行都查不出来」? A:通常是数据集的槽位映射没配或参数里的 ID 不存在。到权限资源该数据集的「明细设计 → 槽位映射」核对;批量授权时那条黄色「无法核对槽位覆盖度」提醒说的就是这件事。

Q:改了一条规则,好几个角色的可见范围都变了? A:规则是共享定义,一对多引用。这是预期行为;改前用权限资源的授权列表反查引用面。