Node-Casbin
Tin tức : vẫn lo lắng về cách viết chính xác chính sách node-casbin
? Casbin online editor đã sẵn sàng giúp bạn!
node-casbin
là một thư viện kiểm soát truy cập mạnh mẽ và hiệu quả mã nguồn mở cho các dự án Node.JS. Nó hỗ trợ thực thi phân quyền dựa trên các access control models khác nhau.
Tất cả các ngôn ngữ được hỗ trợ bởi Casbin:
Casbin | jCasbin | node-Casbin | PHP-Casbin |
sẵn sàng cho sản xuất | sẵn sàng cho sản xuất | sẵn sàng cho sản xuất | sẵn sàng cho sản xuất |
— | — | — | — |
PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
sẵn sàng cho sản xuất | sẵn sàng cho sản xuất | thử nghiệm beta | sẵn sàng cho sản xuất |
Tài liệu
https://casbin.org/docs/overview
Cài đặt
# NPM
npm install casbin --save
# Yarn
yarn add casbin
Bắt đầu
Tạo một trình thi hành node-casbin
với tệp mô hình và tệp chính sách, xem phần Mô hình để biết chi tiết:
// For Node.js:
const { newEnforcer } = require('casbin');
// For browser:
// import { newEnforcer } from 'casbin';
const enforcer = await newEnforcer('basic_model.conf', 'basic_policy.csv');
Ghi chú : bạn cũng có thể khởi tạo trình thi hành với chính sách trong cơ sở dữ liệu thay vì tệp, xem phần Bền vững hóa để biết chi tiết.
Thêm một móc thi hành vào mã của bạn ngay trước khi truy cập xảy ra:
const sub = 'alice'; // the user that wants to access a resource.
const obj = 'data1'; // the resource that is going to be accessed.
const act = 'read'; // the operation that the user performs on the resource.
// Async:
const res = await enforcer.enforce(sub, obj, act);
// Sync:
// const res = enforcer.enforceSync(sub, obj, act);
if (res) {
// permit alice to read data1
} else {
// deny the request, show an error
}
Ngoài tệp chính sách tĩnh, node-casbin
cũng cung cấp API để quản lý quyền trong thời gian chạy. Ví dụ, bạn có thể lấy tất cả các vai trò được gán cho một người dùng như sau:
const roles = await enforcer.getRolesForUser('alice');
Xem các API quản lý Chính sách để biết thêm cách sử dụng.
Quản lý Chính sách
Casbin cung cấp hai tập API để quản lý quyền:
- Management API: API nguyên thủy cung cấp hỗ trợ đầy đủ cho quản lý chính sách Casbin.
- RBAC API: một API thân thiện hơn cho RBAC. API này là một phần của API Quản lý. Người dùng RBAC có thể sử dụng API này để đơn giản hóa mã nguồn.
Mô hình Chính thức
https://casbin.org/docs/supported-models
Bền vững Chính sách
https://casbin.org/docs/adapters
Đồng nhất Chính sách giữa nhiều nút
https://casbin.org/docs/watchers
Quản lý Vai trò
https://casbin.org/docs/role-managers
Chi tiết Tải xuống:
Tác giả: Casbin
Mã nguồn: https://github.com/casbin/node-casbin
Giấy phép: Apache-2.0 license