Ana içeriğe atla

Enforcers

Enforcer, Casbin'deki ana yapıdır. Kullanıcıların politika kuralları ve modeller üzerinde işlem yapması için bir arayüz görevi görür.

Desteklenen Enforcer'lar

Casbin enforcer'larının tam listesi aşağıda sunulmuştur. Yeni bir uygulayıcı üzerine herhangi bir 3. taraf katkısı memnuniyetle karşılanır. Lütfen bize bildirin, ve biz de bunu bu listeye ekleyeceğiz :)

UygulayıcıYazarAçıklama
UygulayıcıCasbinUygulayıcı, kullanıcıların Casbin politikaları ve modelleriyle etkileşime geçmesi için temel yapıdır. Uygulayıcı API'si hakkında daha fazla detayı burada bulabilirsiniz.
Önbelleğe AlınmışUygulayıcıCasbinCachedEnforcer, Enforcer temel alır ve bir isteğin değerlendirme sonucunu bir harita kullanarak bellekte önbelleğe almayı destekler. Belirli bir süre sonunda önbellekleri temizleme yeteneği sağlar. Ayrıca, Read-Write kilidi ile iş parçacığı güvenliğini garanti eder. Değerlendirme sonuçlarının önbelleğe alınmasını etkinleştirmek için EnableCache kullanabilirsiniz (varsayılan olarak etkindir). CachedEnforcer'ın diğer API metodları Enforcer ile aynıdır.
DistributedEnforcerCasbinDistributedEnforcer, dağıtık kümelerde birden fazla örneği destekler. Dağıtıcı için SyncedEnforcer'ı sarmalar. Dağıtıcı hakkında daha fazla detayı burada bulabilirsiniz.
SyncedEnforcerCasbinSyncedEnforcer, Enforcer tabanlıdır ve senkronize erişim sağlar. İş parçacığı güvenli (thread-safe) dir.
SyncedCachedEnforcerCasbinSyncedCachedEnforcer, Enforcer'ı sarmalar ve karar senkrasyon önbelleği sağlar.
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.