Pular para o conteúdo principal

Enforcers

O Enforcer é a estrutura principal no Casbin. Ele atua como uma interface para os usuários realizarem operações em regras de políticas e modelos.

Enforcers Suportados

Uma lista completa dos enforcers do Casbin é fornecida abaixo. Qualquer contribuição de terceiros em um novo enforcer é bem-vinda. Por favor, informe-nos, e nós o adicionaremos a esta lista :)

EnforcerAutorDescrição
EnforcerCasbinO Enforcer é a estrutura básica para os usuários interagirem com políticas e modelos do Casbin. Você pode encontrar mais detalhes sobre a API do Enforcer aqui.
CachedEnforcerCasbinO CachedEnforcer é baseado no Enforcer e suporta o cache do resultado da avaliação de uma solicitação na memória usando um mapa. Ele fornece a capacidade de limpar caches dentro de um tempo de expiração especificado. Além disso, garante segurança de thread com um bloqueio de leitura-escrita. Você pode usar EnableCache para habilitar o cache dos resultados de avaliação (o padrão é habilitado). Os outros métodos da API do CachedEnforcer são os mesmos do Enforcer.
DistributedEnforcerCasbinO DistributedEnforcer suporta múltiplas instâncias em clusters distribuídos. Ele envolve o SyncedEnforcer para o dispatcher. Você pode encontrar mais detalhes sobre o dispatcher aqui.
SyncedEnforcerCasbinO SyncedEnforcer é baseado no Enforcer e fornece acesso sincronizado. Ele é seguro para threads.
SyncedCachedEnforcerCasbinO SyncedCachedEnforcer envolve o Enforcer e fornece cache de sincronização de decisão.
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.