public interface PermissionManager
This interface is backed by an AuthorizationPolicy
instance which
holds all the permissions declarations.
Example:
@Inject PermissionManager permissionManager; @Inject User user; public boolean checkPermission() { Permission permission = permissionManager.createPermission("perspective.read.Home", true); return permissionManager.checkPermission(permission, user); }
Modifier and Type | Method and Description |
---|---|
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. |
AuthorizationPolicyBuilder newAuthorizationPolicy()
AuthorizationPolicy getAuthorizationPolicy()
void setAuthorizationPolicy(AuthorizationPolicy authorizationPolicy)
VotingStrategy getDefaultVotingStrategy()
VotingStrategy
instancevoid setDefaultVotingStrategy(VotingStrategy votingStrategy)
votingStrategy
- The voting strategy to apply when calling to
checkPermission(Permission, User)
VotingAlgorithm getVotingAlgorithm(VotingStrategy votingStrategy)
VotingAlgorithm
implementation associated with the specified VotingStrategy
.votingStrategy
- The voting strategyvoid setVotingAlgorithm(VotingStrategy votingStrategy, VotingAlgorithm votingAlgorithm)
VotingAlgorithm
implementation to be used every time the given VotingStrategy
is applied.votingStrategy
- The voting strategyvotingAlgorithm
- The voting algorithm to apply when calling to checkPermission(Permission, User, VotingStrategy)
with the proper voting strategy.Permission createPermission(String name, boolean granted)
name
- The name of the permission to creategranted
- true=granted, false=deniedPermission createPermission(Resource resource, ResourceAction action, boolean granted)
resource
- 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.Permission createPermission(ResourceType resourceType, ResourceAction action, boolean granted)
resourceType
- 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.AuthorizationResult checkPermission(Permission permission, org.jboss.errai.security.shared.api.identity.User user)
NOTE: If voting is required (users with more than one role and/or group assigned) then the default voting strategy is used
permission
- The permission to checkuser
- The user instanceAuthorizationResult
AuthorizationResult checkPermission(Permission permission, org.jboss.errai.security.shared.api.identity.User user, VotingStrategy votingStrategy)
permission
- 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.String resolveResourceId(Permission permission)
The resolution mechanism works only if the permission instance was created by a previous call
to createPermission(Resource, ResourceAction, boolean)
. In such case the identifier of the
Resource
instance is the value returned.
permission
- The permission which resource id. has to be inferred.PermissionCollection resolvePermissions(org.jboss.errai.security.shared.api.identity.User user, VotingStrategy votingStrategy)
Usually, 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.
user
- The user instancevotingStrategy
- The voting strategyAuthorizationPolicy.getPriority(Role)
,
AuthorizationPolicy.getPriority(Group)
Copyright © 2012–2018 JBoss by Red Hat. All rights reserved.