Policy Storage
Dalam Casbin, penyimpanan polisi diimplementasikan sebagai adapter.
Memuatkan polisi dari fail .CSV
Ini adalah cara yang paling biasa digunakan dalam Casbin. Ia mudah difahami untuk pemula dan mudah untuk dikongsi apabila anda meminta bantuan daripada pasukan Casbin.
Kandungan fail .CSV
examples/rbac_policy.csv adalah seperti berikut:
p, alice, data1, read
p, bob, data2, write
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, data2_admin
Jika fail anda mengandungi koma, anda harus membungkusnya dalam tanda petik ganda. Contohnya:
p, alice, "data1,data2", read --correct
p, alice, data1,data2, read --incorrect (the whole phrase "data1,data2" should be wrapped in double quotes)
Jika fail anda mengandungi koma dan tanda petikan ganda, anda harus mengurung bidang tersebut dalam tanda petikan ganda dan menggandakan mana-mana tanda petikan ganda yang tertanam.
p, alice, data, "r.act in (""get"", ""post"")" --correct
p, alice, data, "r.act in ("get", "post")" --incorrect (you should use "" to escape "")
Isu berkaitan: casbin#886
API Pengubahsuaian
Kaedah | Jenis | Penerangan |
---|---|---|
LoadPolicy() | asas | Muat semua peraturan dasar dari storan |
SimpanDasar() | asas | Simpan semua peraturan dasar ke dalam storan |
TambahDasar() | pilihan | Tambahkan peraturan dasar ke dalam storan |
BuangDasar() | pilihan | Buang peraturan dasar dari storan |
BuangDasarTerpilih() | pilihan | Buang peraturan polisi yang sepadan dengan penapis dari storan |
Format Storan Pangkalan Data
Fail polisi anda
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, admin
Struktur pangkalan data yang sepadan (seperti MySQL)
id | ptype | v0 | v1 | v2 | v3 | v4 | v5 |
---|---|---|---|---|---|---|---|
1 | p | data2_admin | data2 | baca | |||
2 | p | data2_admin | data2 | tulis | |||
3 | g | alice | admin |
Makna Setiap Lajur
id
: Kunci utama dalam pangkalan data. Ia tidak wujud sebagai sebahagian daripadadasar casbin
. Cara ia dihasilkan bergantung pada penyesuai khusus.ptype
: Ia sepadan denganp
,g
,g2
, dsb.v0-v5
: Nama-nama lajur tidak mempunyai makna khusus dan sepadan dengan nilai-nilai dalampolicy csv
dari kiri ke kanan. Bilangan lajur bergantung pada berapa banyak yang anda tentukan sendiri. Secara teori, boleh ada bilangan lajur yang tidak terhingga, tetapi secara amnya hanya 6 lajur yang dilaksanakan dalam penyesuai. Jika ini tidak mencukupi untuk anda, sila hantar isu ke repositori penyesuai yang berkaitan.
Butiran Penyesuai
Untuk butiran lanjut mengenai penggunaan API penyesuai dan reka bentuk struktur jadual pangkalan data, sila lawati: /docs/adapters