Enforcer
Enforcer 是 Casbin 的主要接口:你用它来执行 policy,以及读取或更新 policy 和 model。
可用的 enforcer
以下按语言列出可用的 enforcer。如果你维护第三方的 enforcer,我们可以把 它添加到本列表中。
| Enforcer | Author | Description |
|---|---|---|
| Enforcer | Casbin | 基础 Enforcer 提供 policy 和 model 操作的主要接口。详细的 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 接口,提供上下文感知的操作。目前为 LoadPolicyCtx()、SavePolicyCtx()、AddPolicyCtx() 和 RemovePolicyCtx() 等 adapter 操作提供上下文支持。该接口旨在后续把上下文支持扩展到更多 Casbin 操作。 |
| Enforcer | Author | Description |
|---|---|---|
| Enforcer | Casbin | 基础 Enforcer 提供 policy 和 model 操作的主要接口。详细的 API 信息参见 Management API 文档。 |
| DistributedEnforcer | Casbin | 面向分布式部署设计,该 enforcer 封装 SyncedEnforcer 以便与 dispatcher 配合使用。更多信息参见 dispatcher 文档。 |
| SyncedEnforcer | Casbin | 扩展 Enforcer,提供同步访问以实现线程安全的操作。 |
| AsyncEnforcer | Casbin | 提供异步 API 方法,用于非阻塞的授权执行操作。 |
| FastEnforcer | Casbin | 采用优化的模型架构,相比标准 enforcer 可带来最高 50 倍的性能提升。更多详情见 fastbin 仓库。 |