条件共享
条件共享用于创建独立于单个角色普通数据策略之外的记录共享规则。
当记录需要在满足条件时共享给指定组织、部门、成员或角色,可以使用条件共享。
打开条件共享
在角色页面左侧区域点击 条件共享。
弹窗会展示已有条件共享规则;新建 按钮在弹窗标题旁,每条规则都可以编辑或删除。
新建前须知
- 共享表单必须已存在,条件字段和变量来源都从该表单读取
- 需要用变量共享时,共享表单里要有成员、部门或组织字段,或者有一个指向含这类字段表单的关联字段(
search、multi_search、foreign_key) - 条件共享是在角色数据策略之外额外授予访问,不会收回别处已经给过的权限
规则字段
| 字段 | 说明 |
|---|---|
| 规则名称 | 共享规则名称 |
| 共享表单 | 被共享记录所属表单 |
| 共享给 | 固定主体(成员、部门、组织、角色),或由记录解析出的变量 |
| 权限到期时间 | 可选,到期后不再共享;为空即永不过期 |
| 满足条件时权限 | 条件命中时授予查看、编辑或删除权限 |
| 设置条件 | 记录需要满足的字段条件 |
规则列表会展示每条规则的表单、共享对象、权限、条件和到期时间。选择编辑或删除权限时,规则会自动补上查看权限。
条件
需要先选择共享表单,再根据该表单字段配置条件。
如果共享表单没有可配置条件字段,条件编辑器会展示空状态。
不配置条件的规则会对共享表单的所有记录生效;只有部分记录需要共享时,再配置条件缩小范围。
共享对象
共享对象在主体选择器里选择,包含固定主体和按来源分组的变量:
| 共享对象 | 说明 |
|---|---|
| 成员、部门、组织、角色 | 规则生效期间,始终共享给这些固定主体 |
| 变量 | 按每条记录解析出主体,同一条规则可以让不同记录共享给不同的人 |
变量
一个变量由"共享表单上的来源字段"加"档案字段"组成,最终解析成成员、部门或组织:
| 变量来源 | 配置方式 | 例子 |
|---|---|---|
| 记录字段 → 档案字段 | 先选共享表单上的成员/部门/组织字段,再选对应档案(成员/部门/组织)上的成员/部门/组织字段 | 共享表单有「申请人」(成员字段),成员档案上有「所属部门」字段:规则会共享给申请人档案里填的部门 |
| 关联表字段 | 先选共享表单上的关联字段(search、multi_search、foreign_key),再选它指向记录上的成员/部门/组织字段 | 共享表单关联到客户记录,客户记录上有「负责人」(成员字段):规则会共享给该负责人 |
变量在规则命中时才解析,所以要保证来源字段有值:字段为空、或它指向的记录已不存在时,变量解析不到主体,这条记录就不会通过该变量共享。变量选项按成员、部门、组织和关联表字段分组展示。
验证规则
- 创建规则并保存,确认规则列表里的表单、共享对象、权限和到期时间都符合预期
- 新建或修改一条满足条件的记录
- 用目标成员的账号打开这条记录
- 也可以在角色页面的 权限查询 里选择该主体和这条记录,结果会列出命中原因,例如「命中条件共享规则“规则名”,共享对象“目标”,结果为允许」
常见问题
| 现象 | 检查方向 |
|---|---|
| 规则完全不生效 | 规则要已保存;再检查到期时间、记录是否满足已配置的条件,以及共享表单是否为记录所在表单 |
| 选不到任何变量 | 共享表单里要有成员、部门或组织字段;关联表变量还要求关联字段指向的表里存在这类字段 |
| 变量一直解析不到 | 记录上对应字段为空,或它指向的记录已被删除,这类记录不会通过变量共享 |
| 权限查询显示的是别的原因 | 条件共享只做"额外授予":角色数据策略、默认主体权限或空间管理员角色可能已经允许了该动作 |
| 只选了编辑/删除却要求查看 | 选择编辑或删除会自动补上查看权限,属于预期行为 |
| 删除规则后仍能访问 | 检查是否有其他规则、角色数据策略或默认主体权限给了同一动作 |