주요 콘텐츠로 건너뛰기

Enforcers

Enforcer는 Casbin의 주요 구조입니다. 사용자가 정책 규칙 및 모델에 대한 작업을 수행하는 인터페이스로 작동합니다.

지원되는 Enforcers

아래에 Casbin enforcers의 전체 목록이 제공됩니다. 새로운 enforcer에 대한 제3자의 기여는 언제나 환영입니다. 우리에게 알려주시면, 이 목록에 추가하겠습니다 :)

Enforcer작성자설명
EnforcerCasbinEnforcer는 사용자가 Casbin 정책 및 모델과 상호 작용하는 기본 구조입니다. Enforcer API에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
CachedEnforcerCasbinCachedEnforcerEnforcer를 기반으로 하며, 맵을 사용하여 요청의 평가 결과를 메모리에 캐싱하는 것을 지원합니다. 특정 만료 시간 내에 캐시를 지우는 기능을 제공합니다. 또한, 읽기-쓰기 잠금으로 스레드 안전성을 보장합니다. EnableCache를 사용하여 평가 결과의 캐싱을 활성화할 수 있습니다(기본값은 활성화). CachedEnforcer의 다른 API 메소드는 Enforcer와 동일합니다.
DistributedEnforcerCasbinDistributedEnforcer는 분산 클러스터에서 여러 인스턴스를 지원합니다. 디스패처를 위해 SyncedEnforcer를 래핑합니다. 디스패처에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
SyncedEnforcerCasbinSyncedEnforcerEnforcer를 기반으로 하며 동기화된 액세스를 제공합니다. 스레드 안전성이 보장됩니다.
SyncedCachedEnforcerCasbinSyncedCachedEnforcerEnforcer를 감싸고 결정 동기화 캐시를 제공합니다.
ContextEnforcerCasbinThe ContextEnforcer implements the IEnforcerContext interface and provides context-aware API methods. Currently, only operations that utilize ContextAdapter have corresponding context versions, such as LoadPolicyCtx(), SavePolicyCtx(), AddPolicyCtx(), RemovePolicyCtx(), etc. This enforcer allows using context for more precise control over adapter operations. The interface is designed to support future expansion of context-aware functionality across more Casbin operations.