Package org.wildfly.security.authz
Class SimplePermissionMapper
- java.lang.Object
-
- org.wildfly.security.authz.SimplePermissionMapper
-
- All Implemented Interfaces:
PermissionMapper
public class SimplePermissionMapper extends Object implements PermissionMapper
A simplePermissionMapperimplementation that maps to pre-definedPermissionVerifierinstances. ThisPermissionMapperis constructed using aSimplePermissionMapper.Builderwhich is used to construct an ordered list ofPermissionVerifierinstances along with a set of principal names and a list of principal names. At the timemapPermissions(PermissionMappable, Roles)is called this list is iterated to find corresponding definitions where either the name of thePrincipalwithin thePermissionMappableis contained within the mapping or theRolesin themapPermissioncall contain at least one of the roles in the mapping then the associatedPermissionVerifierwill be used. It is possible that multiple mappings could be matched during the call tomapPermissions(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 callingSimplePermissionMapper.Builder.setMappingMode(SimplePermissionMapper.MappingMode)to choose a different mode to combine the resultingPermissionVerifierinstances.- Author:
- Darran Lofthouse
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSimplePermissionMapper.BuilderA builder for simple permission mappers.(package private) static classSimplePermissionMapper.Mappingstatic classSimplePermissionMapper.MappingModeMode defining behaviour when multiple mappings are found.
-
Field Summary
Fields Modifier and Type Field Description private SimplePermissionMapper.MappingModemappingModeprivate List<SimplePermissionMapper.Mapping>mappings-
Fields inherited from interface org.wildfly.security.authz.PermissionMapper
EMPTY_PERMISSION_MAPPER
-
-
Constructor Summary
Constructors Modifier Constructor Description privateSimplePermissionMapper(SimplePermissionMapper.MappingMode mappingMode, List<SimplePermissionMapper.Mapping> mappings)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SimplePermissionMapper.Builderbuilder()Construct a newSimplePermissionMapper.Builderfor creating thePermissionMapper.PermissionVerifiermapPermissions(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, wait
-
Methods inherited from interface org.wildfly.security.authz.PermissionMapper
and, or, unless, xor
-
-
-
-
Field Detail
-
mappingMode
private final SimplePermissionMapper.MappingMode mappingMode
-
mappings
private final List<SimplePermissionMapper.Mapping> mappings
-
-
Constructor Detail
-
SimplePermissionMapper
private SimplePermissionMapper(SimplePermissionMapper.MappingMode mappingMode, List<SimplePermissionMapper.Mapping> mappings)
-
-
Method Detail
-
mapPermissions
public PermissionVerifier mapPermissions(PermissionMappable permissionMappable, Roles roles)
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
public static SimplePermissionMapper.Builder builder()
Construct a newSimplePermissionMapper.Builderfor creating thePermissionMapper.- Returns:
- a new
SimplePermissionMapper.Builderfor creating thePermissionMapper.
-
-