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

Enforcers

Enforcer — основной интерфейс Casbin: с его помощью вы применяете политики, а также читаете или обновляете политики и модели.

Доступные Enforcer​

Ниже перечислены доступные enforcers по языкам. Если вы поддерживаете сторонний enforcer, мы можем добавить его в этот список.

EnforcerАвторОписание
EnforcerCasbinБазовый Enforcer предоставляет основной интерфейс для операций с политиками и моделями. Подробная информация об API приведена в документации Management API.
CachedEnforcerCasbinРасширяет Enforcer, добавляя кэширование результатов применения политик в памяти. Поддерживает настраиваемое время истечения кэша и обеспечивает потокобезопасный доступ через read-write locks. Используйте EnableCache для включения или отключения кэширования (включено по умолчанию). Остальные методы API соответствуют базовому Enforcer.
DistributedEnforcerCasbinРазработан для распределенных развертываний; этот enforcer оборачивает SyncedEnforcer для работы с диспетчерами. Дополнительная информация доступна в документации диспетчеров.
SyncedEnforcerCasbinРасширяет Enforcer синхронизированным доступом для потокобезопасных операций.
SyncedCachedEnforcerCasbinСочетает функции кэширования CachedEnforcer с синхронизацией SyncedEnforcer.
ContextEnforcerCasbinРеализует интерфейс IEnforcerContext для предоставления контекстно-зависимых операций. В настоящее время поддерживает контекст для операций адаптера, таких как LoadPolicyCtx(), SavePolicyCtx(), AddPolicyCtx() и RemovePolicyCtx(). Этот интерфейс предназначен для будущего расширения поддержки контекста в дополнительных операциях Casbin.
SyncedContextEnforcerCasbinСочетает контекстно-зависимые операции ContextEnforcer с синхронизацией SyncedEnforcer. Используйте его вместо ContextEnforcer, если enforcer разделяется несколькими горутинами. Доступен в версиях после v3.11.0.

Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.