Package org.wildfly.security.authz
Class SimplePermissionMapper
java.lang.Object
org.wildfly.security.authz.SimplePermissionMapper
- All Implemented Interfaces:
PermissionMapper
A simple
PermissionMapper implementation that maps to pre-defined PermissionVerifier instances.
This PermissionMapper is constructed using a SimplePermissionMapper.Builder which is used to construct an ordered list of
PermissionVerifier instances along with a set of principal names and a list of principal names.
At the time mapPermissions(PermissionMappable, Roles) is called this list is iterated to find corresponding
definitions where either the name of the Principal within the PermissionMappable is contained
within the mapping or the Roles in the mapPermission call contain at least one of the roles in the mapping
then the associated PermissionVerifier will be used.
It is possible that multiple mappings could be matched during the call to mapPermissions(PermissionMappable, Roles)
and this is why the ordering is important, by default only the first match will be used however this can be overridden by
calling SimplePermissionMapper.Builder.setMappingMode(SimplePermissionMapper.MappingMode) to choose a different mode to combine the resulting
PermissionVerifier instances.- Author:
- Darran Lofthouse
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA builder for simple permission mappers.static enumMode defining behaviour when multiple mappings are found. -
Field Summary
Fields inherited from interface org.wildfly.security.authz.PermissionMapper
EMPTY_PERMISSION_MAPPER -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Construct a newSimplePermissionMapper.Builderfor creating thePermissionMapper.mapPermissions(PermissionMappable permissionMappable, Roles roles) Returns aPermissionVerifierwith all the permissions associated with the given information.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.wildfly.security.authz.PermissionMapper
and, or, unless, xor
-
Method Details
-
mapPermissions
Description copied from interface:PermissionMapperReturns a
PermissionVerifierwith all the permissions associated with the given information.Once returned, client code can use the
PermissionVerifier.implies(Permission)to check if a given permission is granted or not to the given principal. Implementors must make sure that the returned collection is immutable.- Specified by:
mapPermissionsin interfacePermissionMapper- Parameters:
permissionMappable- the object to which permissions can be mapped (must not benull)roles- a set of effective roles after all role mapping was applied by security domain (may benull)- Returns:
- a permission verifier (not
null)
-
builder
Construct a newSimplePermissionMapper.Builderfor creating thePermissionMapper.- Returns:
- a new
SimplePermissionMapper.Builderfor creating thePermissionMapper.
-