Enforcers
Enforcer 是 Casbin 的主要接口:用它执行策略判定,以及读取或更新策略和模型。
可用的 enforcer
以下按语言列出可用的 enforcer。如果你维护了第三方 enforcer,我们可以把它加到这个列表中。
| 执行器 | 作者 | 描述 |
|---|---|---|
| 执行器 | Casbin | 基础的 Enforcer 提供策略和模型操作的主要接口。详细的 API 信息见 Management API 文档。 |
| CachedEnforcer | Casbin | 在 Enforcer 基础上增加了判定结果的内存缓存。支持配置缓存过期时间,并通过读写锁保证线程安全的访问。用 EnableCache 开关缓存(默认开启)。其余 API 方法与基础的 Enforcer 相同。 |
| DistributedEnforcer | Casbin | 这个 enforcer 为分布式部署设计,包装了 SyncedEnforcer 以配合 dispatcher 使用。更多信息见 dispatcher 文档。 |
| SyncedEnforcer | Casbin | 在 Enforcer 基础上增加了同步访问,保证线程安全。 |
| SyncedCachedEnforcer | Casbin | 结合了 CachedEnforcer 的缓存功能和 SyncedEnforcer 的同步机制。 |
| ContextEnforcer | Casbin | 实现了 IEnforcerContext 接口,提供感知 context 的操作。目前支持适配器操作的 context,例如 LoadPolicyCtx()、SavePolicyCtx()、AddPolicyCtx() 和 RemovePolicyCtx()。这个接口为今后在更多 Casbin 操作中支持 context 预留了扩展空间。 |
| SyncedContextEnforcer | Casbin | Combines the context-aware operations of ContextEnforcer with the synchronization of SyncedEnforcer. Use it instead of ContextEnforcer when the enforcer is shared by several goroutines. Available in versions after v3.11.0. |
| 执行器 | 作者 | 描述 |
|---|---|---|
| 执行器 | Casbin | 基础的 Enforcer 提供策略和模型操作的主要接口。详细的 API 信息见 Management API 文档。 |
| DistributedEnforcer | Casbin | 这个 enforcer 为分布式部署设计,包装了 SyncedEnforcer 以配合 dispatcher 使用。更多信息见 dispatcher 文档。 |
| SyncedEnforcer | Casbin | 在 Enforcer 基础上增加了同步访问,保证线程安全。 |
| AsyncEnforcer | Casbin | 提供异步 API 方法,实现非阻塞的判定操作。 |
| FastEnforcer | Casbin | 采用优化的模型架构,性能比标准 enforcer 最高提升 50 倍。详见 fastbin 仓库。 |
Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.