@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 . |
void |
invalidate(org.jboss.errai.security.shared.api.identity.User user)
Invalidate user related authorization data cached
|
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()
PermissionManager
getAuthorizationPolicy
in interface PermissionManager
public void setAuthorizationPolicy(AuthorizationPolicy authorizationPolicy)
PermissionManager
setAuthorizationPolicy
in interface PermissionManager
public AuthorizationPolicyBuilder newAuthorizationPolicy()
PermissionManager
newAuthorizationPolicy
in interface PermissionManager
public VotingStrategy getDefaultVotingStrategy()
PermissionManager
getDefaultVotingStrategy
in interface PermissionManager
VotingStrategy
instancepublic void setDefaultVotingStrategy(VotingStrategy votingStrategy)
PermissionManager
setDefaultVotingStrategy
in interface PermissionManager
votingStrategy
- The voting strategy to apply when calling to
PermissionManager.checkPermission(Permission, User)
public VotingAlgorithm getVotingAlgorithm(VotingStrategy votingStrategy)
PermissionManager
VotingAlgorithm
implementation associated with the specified VotingStrategy
.getVotingAlgorithm
in interface PermissionManager
votingStrategy
- The voting strategypublic void setVotingAlgorithm(VotingStrategy votingStrategy, VotingAlgorithm votingAlgorithm)
PermissionManager
VotingAlgorithm
implementation to be used every time the given VotingStrategy
is applied.setVotingAlgorithm
in interface PermissionManager
votingStrategy
- 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)
PermissionManager
createPermission
in interface PermissionManager
name
- The name of the permission to creategranted
- true=granted, false=deniedpublic Permission createPermission(Resource resource, ResourceAction action, boolean granted)
PermissionManager
createPermission
in interface PermissionManager
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.public Permission createPermission(ResourceType resourceType, ResourceAction action, boolean granted)
PermissionManager
createPermission
in interface PermissionManager
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.public AuthorizationResult checkPermission(Permission permission, org.jboss.errai.security.shared.api.identity.User user)
PermissionManager
NOTE: If voting is required (users with more than one role and/or group assigned) then the default voting strategy is used
checkPermission
in interface PermissionManager
permission
- The permission to checkuser
- The user instanceAuthorizationResult
public AuthorizationResult checkPermission(Permission permission, org.jboss.errai.security.shared.api.identity.User user, VotingStrategy votingStrategy)
PermissionManager
checkPermission
in interface PermissionManager
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.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)
PermissionManager
The 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 PermissionManager
permission
- The permission which resource id. has to be inferred.public PermissionCollection resolvePermissions(org.jboss.errai.security.shared.api.identity.User user, VotingStrategy votingStrategy)
PermissionManager
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.
resolvePermissions
in interface PermissionManager
user
- The user instancevotingStrategy
- The voting strategyAuthorizationPolicy.getPriority(Role)
,
AuthorizationPolicy.getPriority(Group)
public void invalidate(org.jboss.errai.security.shared.api.identity.User user)
PermissionManager
invalidate
in interface PermissionManager
user
- user to invalidate cacheCopyright © 2012–2018 JBoss by Red Hat. All rights reserved.