跳到主要内容

Casbin执行器

Enforcer 是 Casbin 的主要接口:您使用它来执行策略以及读取或更新策略和模型。

可用的 Enforcers​

以下 enforcers 按语言提供可用。如果您维护第三方 enforcer,我们可以将其添加到此列表中。

Enforcer作者描述
EnforcerCasbin基础 Enforcer 提供了策略和模型操作的主要接口。有关详细的 API 信息,请参阅 Management API documentation。
CachedEnforcerCasbin扩展了 Enforcer,增加了内存缓存的执行结果。支持可配置的缓存过期时间,并通过读写锁包含线程安全访问。使用 EnableCache 切换缓存(默认启用)。其余 API 方法与基础 Enforcer 相同。
DistributedEnforcerCasbin专为分布式部署设计,此 enforcer 包装了 SyncedEnforcer 以与 dispatchers 配合工作。更多信息可在 dispatcher documentation 中找到。
SyncedEnforcerCasbin扩展了 Enforcer,增加了同步访问以实现线程安全的操作。
SyncedCachedEnforcerCasbin结合了 CachedEnforcer 的缓存功能和 SyncedEnforcer 的同步功能。
ContextEnforcerCasbin实现了 IEnforcerContext 接口以提供上下文感知操作。目前支持用于适配器操作的上下文,如 LoadPolicyCtx()、SavePolicyCtx()、AddPolicyCtx() 和 RemovePolicyCtx()。此接口旨在未来扩展对其他 Casbin 操作的上下文支持。
SyncedContextEnforcerCasbin结合了 ContextEnforcer 的上下文感知操作和 SyncedEnforcer 的同步功能。当 enforcer 由多个 goroutine 共享时,请使用它而不是 ContextEnforcer。在 v3.11.0 之后的版本中可用。

Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.