Dispatchers
Dispatchers cung cấp một cách để đồng bộ hóa các thay đổi tăng dần của chính sách. Chúng nên dựa trên các thuật toán nhất quán như Raft để đảm bảo tính nhất quán của tất cả các phiên bản thực thi. Thông qua bộ điều phối, người dùng có thể dễ dàng thiết lập các cụm phân tán.
Phương thức của bộ điều phối được chia thành hai phần. Phần đầu tiên là phương thức kết hợp với Casbin. Những phương thức này nên được gọi bên trong Casbin. Người dùng có thể sử dụng API đầy đủ hơn được cung cấp bởi chính Casbin.
Phần còn lại là phương thức được định nghĩa bởi bộ điều phối, bao gồm phương thức khởi tạo bộ điều phối và các chức năng khác nhau được cung cấp bởi các thuật toán khác nhau, chẳng hạn như thành viên động và thay đổi cấu hình.
Chúng tôi hy vọng bộ điều phối chỉ đảm bảo tính nhất quán của bộ thực thi Casbin trong quá trình chạy. Vì vậy, nếu chính sách không nhất quán trong quá trình khởi tạo, bộ điều phối sẽ không hoạt động đúng cách. Người dùng cần đảm bảo rằng trạng thái của tất cả các phiên bản là nhất quán trước khi sử dụng bộ điều phối.
Danh sách đầy đủ các bộ điều phối Casbin được cung cấp dưới đây. Bất kỳ đóng góp của bên thứ ba về một bộ điều phối mới đều được hoan nghênh. Vui lòng thông báo cho chúng tôi, và chúng tôi sẽ thêm nó vào danh sách này.
- Go
Adapter | Type | Author | Description |
---|---|---|---|
Hashicorp Raft Dispatcher | Raft | Casbin | A dispatcher based on Hashicorp Raft |
KDKYG/casbin-dispatcher | Raft | @KDKYG | A dispatcher based on Hashicorp Raft |
DistributedEnforcer
DistributedEnforcer bọc SyncedEnforcer cho bộ điều phối.
- Go
e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")