Policy Storage
في Casbin، يتم تنفيذ تخزين السياسات كـ adapter.
تحميل السياسة من ملف .CSV
هذه هي الطريقة الأكثر شيوعًا لاستخدام Casbin. من السهل فهمها للمبتدئين ومريحة للمشاركة عندما تطلب المساعدة من فريق Casbin.
محتوى ملف .CSV
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
إذا كان ملفك يحتوي على فواصل، يجب أن تضعها بين علامتي اقتباس مزدوجتين. على سبيل المثال:
p, alice, "data1,data2", read --correct
p, alice, data1,data2, read --incorrect (the whole phrase "data1,data2" should be wrapped in double quotes)
إذا كان ملفك يحتوي على فواصل وعلامات اقتباس مزدوجة، يجب أن تحيط الحقل بعلامات اقتباس مزدوجة وتضاعف أي علامات اقتباس مزدوجة مضمنة.
p, alice, data, "r.act in (""get"", ""post"")" --correct
p, alice, data, "r.act in ("get", "post")" --incorrect (you should use "" to escape "")
المشكلة ذات الصلة: casbin#886
واجهة برمجة تطبيقات Adapter
الطريقة | النوع | الوصف |
---|---|---|
LoadPolicy() | أساسي | تحميل جميع قواعد السياسة من التخزين |
SavePolicy() | أساسي | حفظ جميع قواعد السياسة إلى التخزين |
AddPolicy() | اختياري | إضافة قاعدة سياسة إلى التخزين |
RemovePolicy() | اختياري | إزالة قاعدة سياسة من التخزين |
RemoveFilteredPolicy() | اختياري | إزالة قواعد السياسة التي تطابق الفلتر من التخزين |
تنسيق تخزين قاعدة البيانات
ملف السياسة الخاص بك
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, admin
الهيكل المقابل لقاعدة البيانات (مثل MySQL)
id | ptype | v0 | v1 | v2 | v3 | v4 | v5 |
---|---|---|---|---|---|---|---|
1 | p | data2_admin | data2 | read | |||
2 | p | data2_admin | data2 | write | |||
3 | g | alice | admin |
معنى كل عمود
id
: المفتاح الأساسي في قاعدة البيانات. لا يوجد كجزء منسياسة casbin
. الطريقة التي يتم بها توليده تعتمد على المحول المحدد.ptype
: يتوافق معp
,g
,g2
, وما إلى ذلك.v0-v5
: أسماء الأعمدة ليس لها معنى محدد وتتوافق مع القيم فيpolicy csv
من اليسار إلى اليمين. عدد الأعمدة يعتمد على كم تحدد بنفسك. نظريًا، يمكن أن يكون هناك عدد لا نهائي من الأعمدة، ولكن عمومًا يتم تنفيذ 6 أعمدة فقط في المحول. إذا لم يكن هذا كافيًا بالنسبة لك، يرجى تقديم مشكلة إلى مستودع المحول المقابل.
تفاصيل المحول
لمزيد من التفاصيل حول استخدام واجهة برمجة تطبيقات المحول وتصميم هيكل جدول قاعدة البيانات، يرجى زيارة: /docs/adapters