التخطي إلى المحتوى الرئيسي

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)

idptypev0v1v2v3v4v5
1pdata2_admindata2read
2pdata2_admindata2write
3galiceadmin

معنى كل عمود

  • id: المفتاح الأساسي في قاعدة البيانات. لا يوجد كجزء من سياسة casbin. الطريقة التي يتم بها توليده تعتمد على المحول المحدد.

  • ptype: يتوافق مع p, g, g2, وما إلى ذلك.

  • v0-v5: أسماء الأعمدة ليس لها معنى محدد وتتوافق مع القيم في policy csv من اليسار إلى اليمين. عدد الأعمدة يعتمد على كم تحدد بنفسك. نظريًا، يمكن أن يكون هناك عدد لا نهائي من الأعمدة، ولكن عمومًا يتم تنفيذ 6 أعمدة فقط في المحول. إذا لم يكن هذا كافيًا بالنسبة لك، يرجى تقديم مشكلة إلى مستودع المحول المقابل.

تفاصيل المحول

لمزيد من التفاصيل حول استخدام واجهة برمجة تطبيقات المحول وتصميم هيكل جدول قاعدة البيانات، يرجى زيارة: /docs/adapters