@ApplicationScoped public class DefaultPermissionManager extends Object implements PermissionManager
| Constructor and Description |
|---|
DefaultPermissionManager() |
DefaultPermissionManager(PermissionTypeRegistry permissionTypeRegistry) |
DefaultPermissionManager(PermissionTypeRegistry permissionTypeRegistry,
DefaultAuthzResultCache cache) |
| Modifier and Type | Method and Description |
|---|---|
protected AuthorizationResult |
_checkPermission(Permission permission,
PermissionCollection collection) |
protected AuthorizationResult |
_checkPermission(Permission permission,
org.jboss.errai.security.shared.api.identity.User user,
VotingStrategy votingStrategy) |
protected List<AuthorizationResult> |
_checkRoleAndGroupPermissions(Permission permission,
org.jboss.errai.security.shared.api.identity.User user) |
AuthorizationResult |
checkPermission(Permission permission,
org.jboss.errai.security.shared.api.identity.User user)
Check if the given permission is granted to the specified user.
|
AuthorizationResult |
checkPermission(Permission permission,
org.jboss.errai.security.shared.api.identity.User user,
VotingStrategy votingStrategy)
Check if the given permission is granted to the specified user.
|
Permission |
createPermission(Resource resource,
ResourceAction action,
boolean granted)
Creates a permission instance representing an action on a given resource..
|
Permission |
createPermission(ResourceType resourceType,
ResourceAction action,
boolean granted)
Creates a permission instance representing an action on a given resource..
|
Permission |
createPermission(String name,
boolean granted)
Creates a permission instance.
|
AuthorizationPolicy |
getAuthorizationPolicy()
Gets the current authorization policy instance set.
|
VotingStrategy |
getDefaultVotingStrategy()
Gets the default voting strategy.
|
VotingAlgorithm |
getVotingAlgorithm(VotingStrategy votingStrategy)
Gets the
VotingAlgorithm implementation associated with the specified VotingStrategy. |
AuthorizationPolicyBuilder |
newAuthorizationPolicy()
Gets a builder reference in order to initialize a brand new AuthorizationPolicy instance.
|
PermissionCollection |
resolvePermissions(org.jboss.errai.security.shared.api.identity.User user,
VotingStrategy votingStrategy)
Get the permissions assigned to a given user.
|
String |
resolveResourceId(Permission permission)
Given a permission it tries to determine what is the resource the permission refers to.
|
void |
setAuthorizationPolicy(AuthorizationPolicy authorizationPolicy)
Changes the current authorization policy instance.
|
void |
setDefaultVotingStrategy(VotingStrategy votingStrategy)
Set the default voting strategy to apply when checking permissions for users who have
more than one role and/or group assigned.
|
void |
setVotingAlgorithm(VotingStrategy votingStrategy,
VotingAlgorithm votingAlgorithm)
Sets the
VotingAlgorithm implementation to be used every time the given VotingStrategy is applied. |
@Inject public DefaultPermissionManager(PermissionTypeRegistry permissionTypeRegistry)
public DefaultPermissionManager()
public DefaultPermissionManager(PermissionTypeRegistry permissionTypeRegistry, DefaultAuthzResultCache cache)
public AuthorizationPolicy getAuthorizationPolicy()
PermissionManagergetAuthorizationPolicy in interface PermissionManagerpublic void setAuthorizationPolicy(AuthorizationPolicy authorizationPolicy)
PermissionManagersetAuthorizationPolicy in interface PermissionManagerpublic AuthorizationPolicyBuilder newAuthorizationPolicy()
PermissionManagernewAuthorizationPolicy in interface PermissionManagerpublic void setDefaultVotingStrategy(VotingStrategy votingStrategy)
PermissionManagersetDefaultVotingStrategy in interface PermissionManagervotingStrategy - The voting strategy to apply when calling to
PermissionManager.checkPermission(Permission, User)public VotingStrategy getDefaultVotingStrategy()
PermissionManagergetDefaultVotingStrategy in interface PermissionManagerVotingStrategy instancepublic VotingAlgorithm getVotingAlgorithm(VotingStrategy votingStrategy)
PermissionManagerVotingAlgorithm implementation associated with the specified VotingStrategy.getVotingAlgorithm in interface PermissionManagervotingStrategy - The voting strategypublic void setVotingAlgorithm(VotingStrategy votingStrategy, VotingAlgorithm votingAlgorithm)
PermissionManagerVotingAlgorithm implementation to be used every time the given VotingStrategy is applied.setVotingAlgorithm in interface PermissionManagervotingStrategy - The voting strategyvotingAlgorithm - The voting algorithm to apply when calling to PermissionManager.checkPermission(Permission, User, VotingStrategy)
with the proper voting strategy.public Permission createPermission(String name, boolean granted)
PermissionManagercreatePermission in interface PermissionManagername - The name of the permission to creategranted - true=granted, false=deniedpublic Permission createPermission(Resource resource, ResourceAction action, boolean granted)
PermissionManagercreatePermission in interface PermissionManagerresource - The resource instanceaction - The action to check. If null then an "access" permission is created.
The term access refers to the ability to reach, read, view ... the resource, depending on the resource type.public Permission createPermission(ResourceType resourceType, ResourceAction action, boolean granted)
PermissionManagercreatePermission in interface PermissionManagerresourceType - The resource typeaction - The action to check. If null then an "access" permission is created.
The term access refers to the ability to reach, read, view ... the resource, depending on the resource type.public AuthorizationResult checkPermission(Permission permission, org.jboss.errai.security.shared.api.identity.User user)
PermissionManagerNOTE: If voting is required (users with more than one role and/or group assigned) then the default voting strategy is used
checkPermission in interface PermissionManagerpermission - The permission to checkuser - The user instanceAuthorizationResultpublic AuthorizationResult checkPermission(Permission permission, org.jboss.errai.security.shared.api.identity.User user, VotingStrategy votingStrategy)
PermissionManagercheckPermission in interface PermissionManagerpermission - The permission to checkuser - The user instancevotingStrategy - The voting strategy to use when voting is required
(users with more than one role and/or group assigned).
If null then the default voting strategy is used.protected AuthorizationResult _checkPermission(Permission permission, org.jboss.errai.security.shared.api.identity.User user, VotingStrategy votingStrategy)
protected List<AuthorizationResult> _checkRoleAndGroupPermissions(Permission permission, org.jboss.errai.security.shared.api.identity.User user)
protected AuthorizationResult _checkPermission(Permission permission, PermissionCollection collection)
public String resolveResourceId(Permission permission)
PermissionManagerThe resolution mechanism works only if the permission instance was created by a previous call
to PermissionManager.createPermission(Resource, ResourceAction, boolean). In such case the identifier of the
Resource instance is the value returned.
resolveResourceId in interface PermissionManagerpermission - The permission which resource id. has to be inferred.public PermissionCollection resolvePermissions(org.jboss.errai.security.shared.api.identity.User user, VotingStrategy votingStrategy)
PermissionManagerUsually, the user's permissions is obtained by mixing all the permissions assigned to each role and group instance the user belongs to.
Every interface implementation must take into account the voting strategy specified, which is used to resolve permission collision.
resolvePermissions in interface PermissionManageruser - The user instancevotingStrategy - The voting strategyAuthorizationPolicy.getPriority(Role),
AuthorizationPolicy.getPriority(Group)Copyright © 2012–2017 JBoss by Red Hat. All rights reserved.