Zum Hauptinhalt springen

Dispatcher

Dispatcher bietet eine M√∂glichkeit, schrittweise √Ąnderungen der Politik zu synchronisieren. Es sollte auf Konsistenzalgorithmen wie Flo√ü basieren, um die Konsistenz aller Durchsetzungsinstanzen zu gew√§hrleisten. Durch Dispatcher k√∂nnen Anwender leicht verteilte Cluster aufbauen.

Die Versandmethode ist in zwei Teile aufgeteilt. Die erste ist die Methode, die mit Kasbin kombiniert wird. Diese Methoden sollten innerhalb von Kasbin genannt werden. Benutzer können die vollständigeren Api von Casbin selbst verwenden.

Der andere Teil ist die vom Dispatcher selbst definierte Methode, einschlie√ülich der Dispatcher-Initialisierungsmethode, und verschiedene Funktionen, die von verschiedenen Algorithmen zur Verf√ľgung gestellt werden, wie dynamische Mitgliedschaft, Konfigurations√§nderungen usw.

note

wir hoffen, dass Dispatcher nur die Konsistenz von Casbin Durchsetzer zur Laufzeit zu gew√§hrleisten. Wenn also die Politik bei der Initialisierung inkonsistent ist, wird der Dispatcher nicht richtig funktionieren. Die Benutzer m√ľssen sicherstellen, dass der Status aller Instanzen konsistent ist, bevor sie den Dispatcher verwenden.

Eine vollständige Liste der Casbin-Dispatcher wird wie folgt bereitgestellt. Jeder Beitrag von Drittanbietern zu einem neuen Dispatcher ist willkommen, bitte informieren Sie uns und wir werden ihn in diese Liste setzen:)

DispatcherTypAutorBeschreibung
Hashicorp Raft DispatcherraftCasbinDispatcher based on hashicorp/raft
KDKYG/casbin-dispatcherraft@KDKYGDispatcher based on hashicorp/raft

DistributedEnforcer‚Äč

DistributedEnforcer verpackt SyncedEnforcer f√ľr Dispatcher.

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