Skip to main content

evaluate

Function evaluate 

Source
pub fn evaluate(
    rules: &RoleRules,
    ctx: Option<&Context>,
    role_list: Option<&[String]>,
    doc: Doc<'_>,
) -> bool
Expand description

评估当前用户是否满足指定角色白名单。

判决输入全部来自 rules(用户配置,默认 []/[]/Open),无任何内置角色硬编码:

  • 豁免:有效角色 ∩ rules.exempt_roles ≠ ∅ → true(默认空 = 无豁免)。豁免检查 先于未配置姿态——设计 §11.3「一切判决环节直通」:set_exempt_roles 与 Closed 并存时豁免仍生效(豁免是显式信任声明,姿态管不住它);
  • 未配置(role_list 缺失/空):Open 放行(guest 读拒已随清单化移除——迁移差异, 设计 §11.4);Closed 对非内部用户全拒(fail-secure);ctx=None 与 internal 的直通不受姿态影响(无 ctx 维度归 require_context 管,设计 §11.6)。