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