RoleManager API
RoleManager
RoleManager cung cấp một giao diện để định nghĩa các thao tác quản lý vai trò. Việc bổ sung một hàm so khớp vào RoleManager cho phép sử dụng ký tự đại diện trong tên vai trò và miền.
AddNamedMatchingFunc()
Hàm AddNamedMatchingFunc
thêm một MatchingFunc
theo Ptype vào RoleManager. MatchingFunc
sẽ được sử dụng khi thực hiện so khớp vai trò.
- Go
- Node.js
e.AddNamedMatchingFunc("g", "", util.KeyMatch)
_, _ = e.AddGroupingPolicies([][]string{{"*", "admin", "domain1"}})
_, _ = e.GetRoleManager().HasLink("bob", "admin", "domain1") // -> true, nil
await e.addNamedMatchingFunc('g', Util.keyMatchFunc);
await e.addGroupingPolicies([['*', 'admin', 'domain1']]);
await e.getRoleManager().hasLink('bob', 'admin', 'domain1');
Ví dụ:
- Go
- Node.js
e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedMatchingFunc("g", "", util.MatchKey)
const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedMatchingFunc('g', Util.keyMatchFunc);
AddNamedDomainMatchingFunc()
Hàm AddNamedDomainMatchingFunc
thêm một MatchingFunc
theo Ptype vào RoleManager. DomainMatchingFunc
tương tự như MatchingFunc
đã liệt kê ở trên.
Ví dụ:
- Go
- Node.js
e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedDomainMatchingFunc("g", "", util.MatchKey)
const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedDomainMatchingFunc('g', Util.keyMatchFunc);
GetRoleManager()
Hàm GetRoleManager
lấy trình quản lý vai trò hiện tại cho g
.
Ví dụ:
- Go
- Node.js
- Python
rm := e.GetRoleManager()
const rm = await e.getRoleManager();
rm = e.get_role_manager()
GetNamedRoleManager()
Hàm GetNamedRoleManager
lấy quản lý vai trò theo tên Ptype.
Ví dụ:
- Go
- Node.js
- Python
rm := e.GetNamedRoleManager("g2")
const rm = await e.getNamedRoleManager("g2");
rm = e.get_named_role_manager("g2")
SetRoleManager()
Hàm SetRoleManager
thiết lập quản lý vai trò hiện tại cho g
.
Ví dụ:
- Go
- Node.js
- Python
e.SetRoleManager(rm)
e.setRoleManager(rm);
rm = e.set_role_manager(rm)
SetNamedRoleManager()
Hàm SetNamedRoleManager
thiết lập quản lý vai trò theo tên Ptype.
Ví dụ:
- Go
- Python
rm := e.SetNamedRoleManager("g2", rm)
rm = e.set_role_manager("g2", rm)
Clear()
Hàm Clear
xóa tất cả dữ liệu đã lưu và đặt lại trình quản lý vai trò về trạng thái ban đầu.
Ví dụ:
- Go
- Node.js
- Python
rm.Clear()
await rm.clear();
rm.clear()
AddLink()
AddLink thêm liên kết kế thừa giữa hai vai trò. vai trò: name1 và vai trò: name2. Domain là tiền tố cho các vai trò (có thể được sử dụng cho các mục đích khác).
Ví dụ:
- Go
- Node.js
- Python
rm.AddLink("u1", "g1", "domain1")
await rm.addLink('u1', 'g1', 'domain1');
rm.add_link("u1", "g1", "domain1")
DeleteLink()
DeleteLink xóa liên kết kế thừa giữa hai vai trò. vai trò: name1 và vai trò: name2. Domain là tiền tố cho các vai trò (có thể được sử dụng cho các mục đích khác).
Ví dụ:
- Go
- Node.js
- Python
rm.DeleteLink("u1", "g1", "domain1")
await rm.deleteLink('u1', 'g1', 'domain1');
rm.delete_link("u1", "g1", "domain1")
HasLink()
HasLink xác định xem có liên kết nào giữa hai vai trò hay không. vai trò: name1 kế thừa vai trò: name2. Domain là tiền tố cho các vai trò (có thể được sử dụng cho các mục đích khác).
Ví dụ:
- Go
- Node.js
- Python
rm.HasLink("u1", "g1", "domain1")
await rm.hasLink('u1', 'g1', 'domain1');
rm.has_link("u1", "g1", "domain1")
GetRoles()
GetRoles lấy các vai trò mà một người dùng kế thừa. Domain là tiền tố cho các vai trò (có thể được sử dụng cho các mục đích khác).
Ví dụ:
- Go
- Node.js
- Python
rm.GetRoles("u1", "domain1")
await rm.getRoles('u1', 'domain1');
rm.get_roles("u1", "domain")
GetUsers()
GetUsers lấy danh sách người dùng kế thừa một vai trò. Domain là tiền tố cho người dùng (có thể được sử dụng cho các mục đích khác).
Ví dụ:
- Go
- Node.js
- Python
rm.GetUsers("g1")
await rm.getUsers('g1');
rm.get_users("g1")
PrintRoles()
PrintRoles in tất cả các vai trò ra nhật ký.
Ví dụ:
- Go
- Node.js
- Python
rm.PrintRoles()
await rm.printRoles();
rm.print_roles()
SetLogger()
SetLogger thiết lập bộ ghi nhật ký cho quản lý vai trò.
Ví dụ:
- Go
logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()
GetDomains()
GetDomains lấy các miền mà một người dùng có
Ví dụ:
- Go
result, err := rm.GetDomains(name)