public class DefaultRoleManager extends java.lang.Object implements RoleManager
| Constructor and Description |
|---|
DefaultRoleManager(int maxHierarchyLevel)
DefaultRoleManager is the constructor for creating an instance of the default RoleManager
implementation.
|
DefaultRoleManager(int maxHierarchyLevel,
java.util.function.BiPredicate<java.lang.String,java.lang.String> matchingFunc,
java.util.function.BiPredicate<java.lang.String,java.lang.String> domainMatchingFunc)
In order to use a specific role name matching function, set explicitly the role manager on
the Enforcer and rebuild role links (you can optimize by using minimal enforcer constructor).
|
| Modifier and Type | Method and Description |
|---|---|
void |
addDomainMatchingFunc(java.lang.String name,
java.util.function.BiPredicate<java.lang.String,java.lang.String> domainMatchingFunc)
addDomainMatchingFunc support use domain pattern in g
|
void |
addLink(java.lang.String name1,
java.lang.String name2,
java.lang.String... domain)
addLink adds the inheritance link between role: name1 and role: name2.
|
void |
addMatchingFunc(java.lang.String name,
java.util.function.BiPredicate<java.lang.String,java.lang.String> matchingFunc)
addMatchingFunc support use pattern in g.
|
void |
clear()
clear clears all stored data and resets the role manager to the initial state.
|
void |
deleteLink(java.lang.String name1,
java.lang.String name2,
java.lang.String... domain)
deleteLink deletes the inheritance link between role: name1 and role: name2.
|
java.util.List<java.lang.String> |
getRoles(java.lang.String name,
java.lang.String... domain)
getRoles gets the roles that a subject inherits.
|
java.util.List<java.lang.String> |
getUsers(java.lang.String name,
java.lang.String... domain)
getUsers gets the users that inherits a subject.
|
boolean |
hasLink(java.lang.String name1,
java.lang.String name2,
java.lang.String... domain)
hasLink determines whether role: name1 inherits role: name2.
|
void |
printRoles()
printRoles prints all the roles to log.
|
java.lang.String |
toString() |
public DefaultRoleManager(int maxHierarchyLevel)
maxHierarchyLevel - the maximized allowed RBAC hierarchy level.public DefaultRoleManager(int maxHierarchyLevel,
java.util.function.BiPredicate<java.lang.String,java.lang.String> matchingFunc,
java.util.function.BiPredicate<java.lang.String,java.lang.String> domainMatchingFunc)
final Enforcer e = new Enforcer("model.conf");
e.setAdapter(new FileAdapter("policies.csv"));
e.setRoleManager(new DefaultRoleManager(10, BuiltInFunctions::domainMatch));
e.loadPolicy();
maxHierarchyLevel - the maximized allowed RBAC hierarchy level.matchingFunc - a matcher for supporting pattern in gdomainMatchingFunc - a matcher for supporting domain pattern in gpublic void addMatchingFunc(java.lang.String name,
java.util.function.BiPredicate<java.lang.String,java.lang.String> matchingFunc)
matchingFunc - the matching function.public void addDomainMatchingFunc(java.lang.String name,
java.util.function.BiPredicate<java.lang.String,java.lang.String> domainMatchingFunc)
domainMatchingFunc - the domain matching function.public void clear()
clear in interface RoleManagerpublic void addLink(java.lang.String name1,
java.lang.String name2,
java.lang.String... domain)
addLink in interface RoleManagername1 - the first role (or user).name2 - the second role.domain - the domain the roles belong to.public void deleteLink(java.lang.String name1,
java.lang.String name2,
java.lang.String... domain)
deleteLink in interface RoleManagername1 - the first role (or user).name2 - the second role.domain - the domain the roles belong to.public boolean hasLink(java.lang.String name1,
java.lang.String name2,
java.lang.String... domain)
hasLink in interface RoleManagername1 - the first role (or a user).name2 - the second role.domain - the domain the roles belong to.public java.util.List<java.lang.String> getRoles(java.lang.String name,
java.lang.String... domain)
getRoles in interface RoleManagername - the user (or a role).domain - the domain the roles belong to.public java.util.List<java.lang.String> getUsers(java.lang.String name,
java.lang.String... domain)
getUsers in interface RoleManagername - the role.domain - is a prefix to the users (can be used for other purposes).public java.lang.String toString()
toString in class java.lang.Objectpublic void printRoles()
printRoles in interface RoleManagerCopyright © 2017–2024. All rights reserved.