Bỏ qua đến nội dung chính

Policy Storage

Casbin implements policy storage through adapters.

Tải chính sách từ một tệp .CSV

Loading from a CSV file is the standard approach. This method is straightforward for beginners and convenient when seeking help from the Casbin team.

Here's an example CSV file 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
ghi chú

When CSV fields contain commas, wrap them in double quotes:

p, alice, "data1,data2", read    --correct
p, alice, data1,data2, read --incorrect (the whole phrase "data1,data2" should be wrapped in double quotes)

When fields contain both commas and double quotes, wrap the field in double quotes and escape embedded quotes by doubling them:

p, alice, data, "r.act in (""get"", ""post"")"        --correct
p, alice, data, "r.act in ("get", "post")" --incorrect (you should use "" to escape "")

Vấn đề liên quan: casbin#886

API của Adapter

Phương thứcKiểuMô tả
LoadPolicy()cơ bảnTải tất cả các quy tắc chính sách từ bộ nhớ
SavePolicy()cơ bảnLưu tất cả các quy tắc chính sách vào bộ nhớ
AddPolicy()tùy chọnThêm một quy tắc chính sách vào bộ nhớ
RemovePolicy()tùy chọnXóa một quy tắc chính sách khỏi bộ nhớ
RemoveFilteredPolicy()tùy chọnXóa các quy tắc chính sách khớp với bộ lọc khỏi bộ nhớ

Định dạng lưu trữ cơ sở dữ liệu

Tệp chính sách của bạn

p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, admin

Cấu trúc cơ sở dữ liệu tương ứng (như MySQL)

idptypev0v1v2v3v4v5
1pdata2_admindata2đọc
2pdata2_admindata2viết
3galiceadmin

Ý nghĩa của mỗi cột

  • id: Database primary key, not part of the Casbin policy. Generation method depends on the adapter implementation.

  • ptype: Corresponds to p, g, g2, etc.

  • v0-v5: Generic column names that map to policy CSV values from left to right. The number of columns depends on your policy definition. Most adapters implement 6 columns, though theoretically unlimited columns are possible. Submit an issue to the adapter repository if you need more columns.

Chi tiết Bộ chuyển đổi

For more information about the adapter API and database structure design, see /docs/adapters.