Policy Storage
Di Casbin, penyimpanan kebijakan diimplementasikan sebagai adapter.
Memuat kebijakan dari file .CSV
Ini adalah cara paling umum untuk menggunakan Casbin. Mudah dipahami bagi pemula dan nyaman untuk dibagikan saat Anda meminta bantuan dari tim Casbin.
Isi file .CSV
examples/rbac_policy.csv adalah sebagai berikut:
p, alice, data1, read
p, bob, data2, write
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, data2_admin
Jika file Anda mengandung koma, Anda harus mengapitnya dengan tanda kutip ganda. Misalnya:
p, alice, "data1,data2", read --correct
p, alice, data1,data2, read --incorrect (the whole phrase "data1,data2" should be wrapped in double quotes)
Jika file Anda mengandung koma dan tanda kutip ganda, Anda harus mengapit bidang tersebut dengan tanda kutip ganda dan menggandakan setiap tanda kutip 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 "")
Masalah terkait: casbin#886
API Adaptor
Metode | Jenis | Deskripsi |
---|---|---|
LoadPolicy() | dasar | Muat semua aturan kebijakan dari penyimpanan |
SimpanKebijakan() | dasar | Simpan semua aturan kebijakan ke penyimpanan |
TambahKebijakan() | opsional | Tambahkan aturan kebijakan ke penyimpanan |
HapusKebijakan() | opsional | Hapus aturan kebijakan dari penyimpanan |
HapusKebijakanTerfilter() | opsional | Hapus aturan kebijakan yang sesuai dengan filter dari penyimpanan |
Format Penyimpanan Basis Data
File kebijakan Anda
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, admin
Struktur basis data yang sesuai (seperti MySQL)
id | ptype | v0 | v1 | v2 | v3 | v4 | v5 |
---|---|---|---|---|---|---|---|
1 | p | data2_admin | data2 | baca | |||
2 | p | data2_admin | data2 | menulis | |||
3 | g | alice | admin |
Arti dari setiap kolom
id
: Kunci utama dalam basis data. Itu tidak ada sebagai bagian darikebijakan casbin
. Cara pembuatannya tergantung pada adaptor spesifik yang digunakan.ptype
: Ini sesuai denganp
,g
,g2
, dll.v0-v5
: Nama kolom tidak memiliki arti khusus dan sesuai dengan nilai-nilai dipolicy csv
dari kiri ke kanan. Jumlah kolom tergantung pada berapa banyak yang Anda definisikan sendiri. Secara teori, bisa ada jumlah kolom yang tak terbatas, tetapi biasanya hanya 6 kolom yang diimplementasikan dalam adaptor. Jika ini tidak cukup untuk Anda, silakan ajukan masalah ke repositori adaptor yang sesuai.
Detail Adaptor
Untuk detail lebih lanjut tentang penggunaan API adaptor dan desain struktur tabel database, silakan kunjungi: /docs/adapters