跳转到主要内容

Enforcer

Enforcer 是 Casbin 的主要接口:你用它来执行 policy,以及读取或更新 policy 和 model。

可用的 enforcer​

以下按语言列出可用的 enforcer。如果你维护第三方的 enforcer,我们可以把它添加到本列表中。

EnforcerAuthorDescription
EnforcerCasbin基础 Enforcer 提供 policy 和 model 操作的主要接口。详细的 API 信息参见 Management API 文档。
CachedEnforcerCasbin在 Enforcer 基础上扩展了授权结果的内存缓存。支持可配置的缓存过期时间,并通过读写锁提供线程安全的访问。使用 EnableCache 切换缓存开关(默认启用)。其余 API 方法与基础 Enforcer 一致。
DistributedEnforcerCasbin面向分布式部署设计,该 enforcer 封装 SyncedEnforcer 以便与 dispatcher 配合使用。更多信息参见 dispatcher 文档。
SyncedEnforcerCasbin扩展 Enforcer,提供同步访问以实现线程安全的操作。
SyncedCachedEnforcerCasbin结合 CachedEnforcer 的缓存特性与 SyncedEnforcer 的同步能力。
ContextEnforcerCasbin实现 IEnforcerContext 接口,提供上下文感知的操作。目前为 LoadPolicyCtx()、SavePolicyCtx()、AddPolicyCtx() 和 RemovePolicyCtx() 等 adapter 操作提供上下文支持。该接口旨在后续把上下文支持扩展到更多 Casbin 操作。