跳转至

数据权限与决策权限

适用基线:测试环境目标 / dev 分支 / 2026-07-15。 阅读对象:测试、实施、运维(主);需要解释“同角色为何看到不同数据”的业务管理员(顺带)。

业务目的与适用范围

数据权限回答:在已经能够进入某功能的前提下,用户能看到或操作哪些数据范围。决策权限回答:高风险动作(审批、关闭、撤销、人工干预等)是否还需要额外约束,而不能只凭“有菜单/有按钮”推断。

读完本页,应能:用非超管账号验证「本部门 / 本部门及下级 / 仅本人」等五档差异;说明它只作用于已挂接的表;并把库位现场过滤交给岗位页,而不是角色五档。本页与RBAC 权限模型互补:RBAC 解决功能入口。

如何使用本组文档

你的目的 建议阅读
理解五档如何生效,并据此验收/排障 本页:准备 → 范围如何生效 → 管到哪里 → 建议验证点
配置角色数据范围或查字段细节 数据权限与决策权限-维护与查询参考
理解菜单/按钮授权 RBAC 权限模型
理解岗位库位/物料对现场任务的影响 岗位、任务分配与审批主体

使用前准备

需要确认什么 为什么重要
组织部门树是否完整 本部门、本部门及下级、指定部门都依赖部门结构。
用户是否已归属部门 “本部门/本人”范围需要用户组织信息。
角色功能菜单是否已配好 没有功能入口时,数据范围没有实际意义。
验收账号是否为超管 超管可能绕过范围限制,不适合验证数据隔离。

📷 截图占位

角色管理中的数据权限配置,标出范围类型和部门树;使用脱敏数据。

角色数据范围如何生效

flowchart LR A["为角色配置数据范围"] --> B["用户获得该角色"] B --> C["登录后聚合各角色范围"] C --> D["查询时按部门/本人条件过滤"] D --> E["用户只看到范围内数据"]

当前已证实的角色数据范围是部门/本人五档,在角色上配置后,由权限服务聚合并在数据权限框架中对已登记的数据表字段追加过滤条件。多角色时范围取并集;用户没有任何角色时,按“仅本人”处理。

自定义部门范围时,系统还会并入用户自己的本部门,避免只勾选其它部门后失去本部门数据。

📝 示例数据占位

同一“仓库查询”角色,甲用户属部门 A、乙用户属部门 B;在“本部门”范围下各自只看到本部门用户/部门数据。

写实示例:给定配置 → 期望可见范围

给定: 角色「部门查询」数据范围为「本部门」;用户甲属部门 A、乙属部门 B;两人均非超管;验收对象为 System 已挂接 的用户/部门列表(不是任意 WMS 库存单据)。 期望: 甲只见部门 A 相关行,乙只见部门 B。将甲的范围改为「全部数据」后,甲应能跨部门看见(在已挂接对象上)。

反例(勿误验收): 仅改角色五档,就期望 WMS 库存单据按部门隔离——当前普遍未挂接(GAP-070),结果不变属预期,应改查业务挂接或岗位库位。

建议验证点

  • 非超管下,「本部门」与「全部」在已挂接对象上可见结果可区分。
  • 「指定部门」:目标部门可见;未勾选部门不可见;本部门仍会并入(规则行为)。
  • 多角色并集:任一角色为「全部」会撑开范围。
  • 用户部门为空:本部门类范围是否异常收窄。
  • 库位任务可见性不对时:先排除岗位库位,再查本页五档。
  • ❓ 目标业务表是否挂接部门规则——未证实前不要写成「全站生效」。

五种范围类型

范围 业务含义 典型用途
全部数据 不按部门/本人限制。 总部管理、跨组织查询角色。
指定部门 只能看到勾选的部门(及规则并入的本部门)。 多工厂/多部门专管。
本部门 只能看到用户所属部门。 部门内业务人员。
本部门及下级 看到本部门及其下级部门。 部门负责人。
仅本人 只能看到与本人相关的数据。 个人待办、个人档案类场景。

关键判断

判断点 应先确认什么 判断后的影响
问题是菜单没有还是数据没有 先区分 RBAC 与数据范围。 避免只加菜单或只改范围。
该用本部门还是指定部门 组织是否跨多个平级部门。 决定配置复杂度。
业务表是否受部门规则约束 目标业务是否挂接了部门数据权限。 有的业务模块尚未挂接,不能假定“配了范围就全站生效”。
是否在用岗位库位过滤 现场任务是否按岗位区域限制。 那是另一套机制,见岗位页。

它实际管到哪里

层级 当前可确认结论
配置层 角色可配置上述五档范围;自定义范围维护部门列表。
聚合层 按用户启用角色聚合为“全部 / 部门集合 / 仅本人”。
过滤层 数据权限框架对已登记表按部门字段或用户字段追加条件。
System 内已挂接示例 用户、部门等系统对象查询可受该规则影响。
WMS 等业务表 当前未见把角色部门范围普遍挂到仓储业务表;不能写成“配了角色数据范围就自动隔离所有库存单据”。

因此培训时应说:

  • “角色数据范围是 System 提供的部门/本人过滤能力”;
  • “某业务是否生效,要看该业务是否接入同一套规则”;
  • “库位现场隔离可能来自岗位区域权限,而不是角色数据范围”。

决策权限边界

“决策权限”在本阶段没有证实为独立于 RBAC 的第二套权限主数据。高风险动作通常仍由以下条件共同决定:

  1. 是否具备功能权限标识(RBAC);
  2. 是否落在数据范围内;
  3. 业务单据状态是否允许该动作;
  4. 是否还有业务模块自身的审批/开关规则。

本页把决策权限作为分析框架保留:排查“看得见却做不了”时,按上述四层检查,而不是假定存在单独的“决策权限配置页”。

与岗位库位、工厂仓库范围的边界

机制 配置在哪里 主要过滤什么 是否本页主链
角色数据范围 角色数据权限 部门 / 本人
岗位区域(库位)权限 岗位维护 库位相关现场/任务数据 否,见岗位页
工厂/仓库/货主通用角色范围 未证实为 System 通用能力

关键字段业务角色(数据权限如何影响选择器)

字段/配置点 在系统中的作用 关键行为要点 警惕什么
角色数据范围(五档) 裁剪已挂接表的列表/查询行 全部/指定部门/本部门/本部门及下级/仅本人;多角色并集 未挂接业务表则配了也不生效(GAP-070
用户所属部门 本部门类范围的计算基础 部门为空可能异常收窄 用户未挂部门
自定义部门列表 指定部门范围 规则会并入本部门 只勾外部门仍见本部门属预期
岗位库位范围 现场任务/库位选择另一套过滤 独立于角色五档 用部门范围解决库位隔离会失败
工厂/仓库/货主作角色通用范围 未证实 勿写成已有通用档
选择器是否受数据权限裁剪 弹窗可选集合可能被权限裁剪 ❓ 逐页实测矩阵未闭合(GAP-014 选不到≠主数据不存在

完整投影说明、挂接边界与验收见维护与查询参考;选择器通例见通用选择器过滤惯例

查询与联查

想解决的问题 推荐定位方式 建议联查
为什么看不到某部门数据 用户部门、角色数据范围类型、自定义部门列表。 角色配置、用户详情。
多角色用户范围过大 各角色范围是否取并集后覆盖过宽。 用户角色列表。
配了范围但业务单据无变化 该业务是否接入部门数据权限。 业务页说明、问题总账。
同岗位不同人看到不同任务 是否实际由岗位库位/领取规则决定。 岗位页、对应 WMS 业务页。

详情分组与快速跳转

分组 应展示什么 可联查什么
角色数据范围 五档类型、自定义部门列表。 角色配置。
用户与部门 用户所属部门、多角色并集结果。 用户详情、组织部门。
岗位库位范围 岗位关联库位(独立于五档)。 岗位页、WMS 任务。
挂接边界 哪些业务表已接入部门权限。 业务页说明、验收清单。
系统信息 配置变更痕迹。

📷 截图占位

角色数据范围与用户部门投影示意;状态:待截图。选择器裁剪通例见选择器过滤页。

常见问题与处理

情况 建议处理
给了菜单仍无数据 检查角色数据范围,并用非超管账号验证。
自定义部门后看不到自己部门 确认是否未勾选本部门;规则会并入本部门,仍异常则查用户部门是否为空。
想按仓库隔离却只配了部门范围 先确认仓库隔离需求应由组织部门、岗位库位还是业务字段承担,不要假设存在通用“仓库数据范围”。
用超管验收数据隔离 换业务角色账号重测。

当前限制与待确认事项

  • ❓ 哪些业务模块的哪些表已挂接部门数据权限,需建立清单后逐项确认(GAP-070);
  • 字典文案、库表注释与五档枚举的展示一致性待环境核对;
  • ❓ “决策权限”是否将来会独立建模,当前只能按组合条件说明,勿写成已有独立配置页;
  • ❓ 工厂/仓库/库位/货主作为角色通用数据范围尚未证实。

待补充的图示与示例

类型 后续需要补充的内容 目的
范围示意图 五档范围覆盖关系。 支持实施培训。
配置截图 角色数据权限表单与部门树。 支持操作说明。
示例数据 两部门用户对照可见结果。 支持验收。