Langkau ke kandungan utama

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
nota

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

KaedahJenisPenerangan
LoadPolicy()asasMuat semua peraturan dasar dari storan
SimpanDasar()asasSimpan semua peraturan dasar ke dalam storan
TambahDasar()pilihanTambahkan peraturan dasar ke dalam storan
BuangDasar()pilihanBuang peraturan dasar dari storan
BuangDasarTerpilih()pilihanBuang 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)

idptypev0v1v2v3v4v5
1pdata2_admindata2baca
2pdata2_admindata2tulis
3galiceadmin

Makna Setiap Lajur

  • id: Kunci utama dalam pangkalan data. Ia tidak wujud sebagai sebahagian daripada dasar casbin. Cara ia dihasilkan bergantung pada penyesuai khusus.

  • ptype: Ia sepadan dengan p, g, g2, dsb.

  • v0-v5: Nama-nama lajur tidak mempunyai makna khusus dan sepadan dengan nilai-nilai dalam policy 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