Aller au contenu principal

**Dispatchers**

Les Dispatchers propagent les mises à jour de politique incrémentales vers plusieurs instances d'enforceurs (par ex. un cluster). Ils utilisent un protocole de cohérence (par ex. Raft) afin que tous les enforceurs finissent par voir la même politique. L'API normale de Casbin (AddPolicy, RemovePolicy, etc.) reste inchangée ; le dispatcher envoie les mises à jour aux autres nœuds.

Deux parties : (1) les hooks internes à Casbin implémentés par le dispatcher, et (2) la configuration spécifique du dispatcher (par ex. appartenance au cluster, config).

remarque

Les dispatchers synchronisent uniquement les modifications après l'initialisation. Ils ne corrigent pas les divergences existantes. Démarrez tous les enforceurs avec la même politique (par ex. depuis la même base de données ou instantané) avant d'activer un dispatcher.

Dispatchers disponibles :

Adapter Type Author Description
Hashicorp Raft Dispatcher Raft Casbin A dispatcher based on Hashicorp Raft
KDKYG/casbin-dispatcher Raft @KDKYG A dispatcher based on Hashicorp Raft

DistributedEnforcer​

DistributedEnforcer encapsule SyncedEnforcer pour fonctionner avec les dispatchers.

e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")

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