Dispatchers
Dispatcher bieten eine Möglichkeit, inkrementelle Änderungen der Richtlinie zu synchronisieren. Sie sollten auf Konsistenzalgorithmen wie Raft basieren, um die Konsistenz aller Enforcer-Instanzen zu gewährleisten. Durch Dispatcher können Benutzer leicht verteilte Cluster einrichten.
Die Methode des Dispatchers ist in zwei Teile unterteilt. Der erste Teil ist die Methode, die mit Casbin kombiniert ist. Diese Methoden sollten innerhalb von Casbin aufgerufen werden. Benutzer können die vollständigere API nutzen, die von Casbin selbst bereitgestellt wird.
Der andere Teil ist die Methode, die vom Dispatcher selbst definiert wird, einschließlich der Dispatcher-Initialisierungsmethode und verschiedenen Funktionen, die von verschiedenen Algorithmen bereitgestellt werden, wie dynamische Mitgliedschaft und Konfigurationsänderungen.
Wir hoffen, dass Dispatcher nur die Konsistenz des Casbin Enforcers zur Laufzeit gewährleisten. Wenn die Richtlinie also während der Initialisierung inkonsistent ist, funktionieren die Dispatcher nicht ordnungsgemäß. Benutzer müssen sicherstellen, dass der Zustand aller Instanzen vor der Verwendung von Dispatchern konsistent ist.
Unten finden Sie eine vollständige Liste der Casbin-Dispatcher. Beiträge von Dritten zu einem neuen Dispatcher sind willkommen. Bitte informieren Sie uns und wir werden es zu dieser Liste hinzufügen.
- Go
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 kapselt SyncedEnforcer für den Dispatcher ein.
- Go
e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")