Zum Hauptinhalt springen

Richtlinien-Speicher

In Casbin wird der Richtlinienspeicher als -Adapter implementiert.

Richtlinien aus .CSV-Datei laden

Dies ist die häufigste Art Casbin zu benutzen. Es ist einfach für Anfänger zu verstehen und praktisch, wenn Sie das Casbin Team um Hilfe bitten.

Der Inhalt der .CSV Datei examples/rbac_policy.csv:

p, alice, data1, read
p, bob, data2, write
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, data2_admin
note

Wenn Ihre Datei Kommas, enthält, sollten Sie sie in doppelte Anführungszeichen einbinden, zum Beispiel:

p, alice, "data1,data2", read --correct
p, alice, data1,data2, read --incorrect ("data1,data2" should be a total)

Wenn Ihre Datei Kommas, und doppelte Anführungszeichen"enthält, sollten Sie das Feld in doppelte Anführungszeichen einfügen und alle eingebetteten doppelten Anführungszeichen verdoppeln.

p, alice, data, "r.act in (""get"", ""post"")" --correct
p, alice, Daten, "r.act in ("get", "post")" --incorrect (sollte "" verwenden, um "") zu escapen

Ähnliches Problem: casbin#886

Adapter-API

MethodeTypBeschreibung
LoadPolicy()einfachLade alle Regeln aus dem Speicher
SavePolicy()einfachAlle Richtlinien-Regeln im Speicher speichern
AddPolicy()optionalRichtlinien-Regel zum Speicher hinzufügen
RemovePolicy()optionalEine Richtlinien-Regel vom Speicher entfernen
FilteredPolicy() entfernenoptionalRegeln, die dem Filter entsprechen, vom Speicher entfernen

Datenbankspeicherformat

deine Richtlinien-Datei

p, data2_admin, data2, lesen
p, data2_admin, data2, schreiben
g, alice, admin

entsprechende Datenbankstruktur (wie MySQL)

idptypev0v1v2v3v4v5
1pdata2_admindata2gelesen
2pdata2_admindata2schreiben
3galiceadmin

Die Bedeutung jeder Spalte

  • id: Es existiert nur in der Datenbank als Primärschlüssel. Nicht als Teil der Casbin-Richtlinie. Die Art und Weise, wie sie generiert wird, hängt vom jeweiligen Adapter ab

  • ptype: Es entspricht p, g, g2, etc.

  • v0-v5: Die Spaltennamen haben keine spezifische Bedeutung, und entsprechen den Werten in der Policy csv von links nach rechts. Die Anzahl der Spalten hängt davon ab, wie viele Sie selbst definieren. Theoretisch kann es eine unendliche Anzahl von Spalten geben. In der Regel werden aber nur 6 Spalten in Adapter implementiert. Falls es für Sie nicht ausreicht, schicken Sie bitte ein Problem in das entsprechende Adapter-Repository.

Adapter-Details

Weitere Details zur Verwendung von Adapterapi und Datenbanktabellenstruktur. Bitte gehen Sie zu: /docs/adapters