纯裁决:是否放行(异步签名·S2 规则源 DB)。
授权裁决入参
是否放行
query 级列表过滤谓词(module-rbac-query-level-filtering 切片 B·dynamic-roles §2.4 缓账兑现·丁裁契约 additive)。
列表谓词入参
三态谓词(all / where / none)
与 can 同源同口径:同一角色 + 同一 userId 下,列表可见集 = 逐条 can() 允许集(「列表 ⊆ 逐条」)。
三态返回(消费方=应用层列表面 handler·见参考应用 ListWorkspacesQueryHandler·人裁⑤):
{ kind: 'all' }:该角色对此 action/subject 存在无条件类型级授权(conditions=null 行)
⇒ 列表按 tenantFilter 全量(承 S2 类型级·无 instance 限制);{ kind: 'where', where }:仅带 conditions 的授权 ⇒ 实例谓词($or 并语义·人裁②),由消费方 AND 进 tenantFilter;{ kind: 'none' }:无任何匹配 grant 行 / 不可解析 / 加载失败 / 无租户无角色 ⇒ 空集(fail-closed·绝不回退全量)。
租户级权限裁决端口(读侧:
can单点判定 /listPredicate列表谓词)。