RoleManager API
角色管理器
RoleManager提供接口来定义管理角色的操作。 添加匹配函数到角色管理器允许在角色名称和域中使用通配符。
AddNamedMatchingFunc()
AddNamedMatchingFunc 通过 ptype 角色管理器添加MatchingFunc MatchingFunc将在操作角色匹配时工作。
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');
例如:
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()
AddNamedDomainMatchingFunc 通过 ptype 把MatchingFunc 添加到 RoleManager中。 DomainMatchingFunc
类似于上面列出的 MatchingFunc
例如:
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()
GetRoleManager 获取现存的 g
的role manager。
例如:
rm := e.GetRoleManager()
const rm = await e.getRoleManager();
rm = e.get_role_manager()
Clear()
Clear清除所有存储的数据并将角色管理器重置到初始状态。
例如:
rm.Clear()
await rm.clear();
rm.clear()
AddLink()
AddLink添加了两个角色之间的继承链接。 角色: 名称1 和 角色: 名称2 域是角色的前缀(可以用于其他目的)。
例如:
rm.AddLink("u1", "g1", "domain1")
await rm.addLink('u1', 'g1', 'domain1');
rm.add_link("u1", "g1", "domain1")
DeleteLink()
DeleteLink 删除两个角色之间的继承链接。 role: name1 和 role: name2. 域是角色的前缀(可以用于其他目的)。
例如:
rm.DeleteLink("u1", "g1", "domain1")
await rm.deleteLink('u1', 'g1', 'domain1');
rm.delete_link("u1", "g1", "domain1")
HasLink()
HasLink 决定两种角色之间是否存在联系。 role: name1 继承自 role: name2. 域是角色的前缀(可以用于其他目的)。
例如:
rm.HasLink("u1", "g1", "domain1")
await rm.hasLink('u1', 'g1', 'domain1');
rm.has_link("u1", "g1", "domain1")
GetRoles()
GetRoles 获取一个用户所继承的角色 域是角色的前缀(可以用于其他目的)。
例如:
rm.GetRoles("u1", "domain1")
await rm.getRoles('u1', 'domain1');
rm.get_roles("u1", "domain")
GetUsers()
GetUsers 获取继承自一个角色的用户 域是用户的前缀(可以用于其他目的)。
例如:
rm.GetUsers("g1")
await rm.getUsers('g1');
rm.get_users("g1")
PrintRoles()
PrintRoles 打印所有的角色到日志。
例如:
rm.PrintRoles()
await rm.printRoles();
rm.print_roles()
SetLogger()
SetLogger设置角色管理器的日志。
例如:
logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()
GetDomains()
GetDomains 获取用户拥有的域
例如:
result, err := rm.GetDomains(name)