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 der Dispatcher nur die Konsistenz des Casbin-Durchsetzers zur Laufzeit sicherstellt. 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:)
Dispatcher | Typ | Autor | Beschreibung |
---|---|---|---|
Hashicorp Raft-Dispatcher | floß | Casbin | Dispatcher basierend auf hashicorp/raft |
DistributedEnforcer
DistributedEnforcer verpackt SyncedEnforcer für Dispatcher.
e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")