Перейти до основного контенту

Enforcers

Enforcer - це основна структура в Casbin. Він виступає інтерфейсом для користувачів для виконання операцій з правилами політики та моделями.

Підтримувані Enforcers

Нижче наведено повний список Enforcers Casbin. Будь-який внесок третьої сторони щодо нового enforcer вітається. Будь ласка, повідомте нас, і ми додамо його до цього списку :)

EnforcerАвторОпис
EnforcerCasbinEnforcer - це базова структура для взаємодії користувачів з політиками та моделями Casbin. Більше деталей про API Enforcer можна знайти тут.
CachedEnforcerCasbinCachedEnforcer базується на Enforcer і підтримує кешування результату оцінки запиту в пам'яті за допомогою мапи. Він надає можливість очищення кешів протягом вказаного часу дії. Крім того, він гарантує безпеку виконання в багатопоточному середовищі за допомогою блокування для читання-запису. Ви можете використовувати EnableCache для включення кешування результатів оцінки (за замовчуванням включено). Інші методи API CachedEnforcer такі ж, як у Enforcer.
DistributedEnforcerCasbinDistributedEnforcer підтримує кілька екземплярів у розподілених кластерах. Він обгортає SyncedEnforcer для диспетчера. Більше деталей про диспетчера можна знайти тут.
SyncedEnforcerCasbinSyncedEnforcer базується на Enforcer і забезпечує синхронізований доступ. Він є безпечним для використання в багатопоточному середовищі.
SyncedCachedEnforcerCasbinSyncedCachedEnforcer обгортає Enforcer і забезпечує синхронізований кеш рішень.
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.