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

Policy Storage

Trong Casbin, lưu trữ chính sách được triển khai như một adapter.

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

Đây là cách phổ biến nhất để sử dụng Casbin. Nó dễ hiểu đối với người mới bắt đầu và thuận tiện cho việc chia sẻ khi bạn yêu cầu trợ giúp từ nhóm Casbin.

Nội dung của tệp .CSV examples/rbac_policy.csv như sau:

p, alice, data1, read
p, bob, data2, write
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, data2_admin
ghi chú

Nếu tệp của bạn chứa dấu phẩy, bạn nên đặt chúng trong dấu ngoặc kép. Ví dụ:

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

Nếu tệp của bạn chứa dấu phẩy và dấu ngoặc kép, bạn nên đặt trường trong dấu ngoặc kép và nhân đôi bất kỳ dấu ngoặc kép nhúng nào.

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: Khóa chính trong cơ sở dữ liệu. Nó không tồn tại như một phần của chính sách casbin. Cách nó được tạo ra phụ thuộc vào bộ chuyển đổi cụ thể.

  • ptype: Nó tương ứng với p, g, g2, v.v.

  • v0-v5: Tên cột không có ý nghĩa cụ thể và tương ứng với các giá trị trong policy csv từ trái sang phải. Số lượng cột phụ thuộc vào bao nhiêu cột bạn tự định nghĩa. Về lý thuyết, có thể có một số lượng vô hạn cột, nhưng thông thường chỉ có 6 cột được triển khai trong bộ chuyển đổi. Nếu điều này không đủ cho bạn, vui lòng gửi một vấn đề đến kho lưu trữ bộ chuyển đổi tương ứng.

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

Để biết thêm chi tiết về việc sử dụng API bộ chuyển đổi và thiết kế cấu trúc bảng cơ sở dữ liệu, vui lòng truy cập: /docs/adapters