Class SecurityExpressionRoot
- All Implemented Interfaces:
- SecurityExpressionOperations
- Direct Known Subclasses:
- MessageSecurityExpressionRoot,- WebSecurityExpressionRoot
- Since:
- 3.0
- 
Field SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionSecurityExpressionRoot(Supplier<Authentication> authentication) Creates a new instance that uses lazy initialization of theAuthenticationobject.SecurityExpressionRoot(Authentication authentication) Creates a new instance
- 
Method SummaryModifier and TypeMethodDescriptionfinal booleandenyAll()Always denies accessfinal AuthenticationGets theAuthenticationused for evaluating the expressionsConvenience method to accessAuthentication.getPrincipal()fromgetAuthentication()final booleanhasAnyAuthority(String... authorities) Determines if theSecurityExpressionOperations.getAuthentication()has any of the specified authorities withinAuthentication.getAuthorities().final booleanhasAnyRole(String... roles) Determines if theSecurityExpressionOperations.getAuthentication()has any of the specified authorities withinAuthentication.getAuthorities().final booleanhasAuthority(String authority) Determines if theSecurityExpressionOperations.getAuthentication()has a particular authority withinAuthentication.getAuthorities().booleanhasPermission(Object target, Object permission) Determines if theSecurityExpressionOperations.getAuthentication()has permission to access the target given the permissionbooleanhasPermission(Object targetId, String targetType, Object permission) Determines if theSecurityExpressionOperations.getAuthentication()has permission to access the domain object with a given id, type, and permission.final booleanDetermines if theSecurityExpressionOperations.getAuthentication()has a particular authority withinAuthentication.getAuthorities().final booleanDetermines if theSecurityExpressionOperations.getAuthentication()is anonymousfinal booleanDetermines iftheSecurityExpressionOperations.getAuthentication()is authenticatedfinal booleanDetermines if theSecurityExpressionOperations.getAuthentication()authenticated without the use of remember mefinal booleanDetermines if theSecurityExpressionOperations.getAuthentication()was authenticated using remember mefinal booleanAlways grants access.voidsetDefaultRolePrefix(String defaultRolePrefix) Sets the default prefix to be added tohasAnyRole(String...)orhasRole(String).voidsetPermissionEvaluator(PermissionEvaluator permissionEvaluator) voidsetRoleHierarchy(RoleHierarchy roleHierarchy) voidsetTrustResolver(AuthenticationTrustResolver trustResolver) 
- 
Field Details- 
permitAllpublic final boolean permitAllAllows "permitAll" expression- See Also:
 
- 
denyAllpublic final boolean denyAllAllows "denyAll" expression- See Also:
 
- 
read- See Also:
 
- 
write- See Also:
 
- 
create- See Also:
 
- 
delete- See Also:
 
- 
admin- See Also:
 
 
- 
- 
Constructor Details- 
SecurityExpressionRootCreates a new instance- Parameters:
- authentication- the- Authenticationto use. Cannot be null.
 
- 
SecurityExpressionRootCreates a new instance that uses lazy initialization of theAuthenticationobject.- Parameters:
- authentication- the- Supplierof the- Authenticationto use. Cannot be null.
- Since:
- 5.8
 
 
- 
- 
Method Details- 
hasAuthorityDescription copied from interface:SecurityExpressionOperationsDetermines if theSecurityExpressionOperations.getAuthentication()has a particular authority withinAuthentication.getAuthorities().- Specified by:
- hasAuthorityin interface- SecurityExpressionOperations
- Parameters:
- authority- the authority to test (i.e. "ROLE_USER")
- Returns:
- true if the authority is found, else false
 
- 
hasAnyAuthorityDescription copied from interface:SecurityExpressionOperationsDetermines if theSecurityExpressionOperations.getAuthentication()has any of the specified authorities withinAuthentication.getAuthorities().- Specified by:
- hasAnyAuthorityin interface- SecurityExpressionOperations
- Parameters:
- authorities- the authorities to test (i.e. "ROLE_USER", "ROLE_ADMIN")
- Returns:
- true if any of the authorities is found, else false
 
- 
hasRoleDescription copied from interface:SecurityExpressionOperationsDetermines if the SecurityExpressionOperations.getAuthentication()has a particular authority withinAuthentication.getAuthorities().This is similar to SecurityExpressionOperations.hasAuthority(String)except that this method implies that the String passed in is a role. For example, if "USER" is passed in the implementation may convert it to use "ROLE_USER" instead. The way in which the role is converted may depend on the implementation settings.- Specified by:
- hasRolein interface- SecurityExpressionOperations
- Parameters:
- role- the authority to test (i.e. "USER")
- Returns:
- true if the authority is found, else false
 
- 
hasAnyRoleDescription copied from interface:SecurityExpressionOperationsDetermines if the SecurityExpressionOperations.getAuthentication()has any of the specified authorities withinAuthentication.getAuthorities().This is a similar to hasAnyAuthority except that this method implies that the String passed in is a role. For example, if "USER" is passed in the implementation may convert it to use "ROLE_USER" instead. The way in which the role is converted may depend on the implementation settings. - Specified by:
- hasAnyRolein interface- SecurityExpressionOperations
- Parameters:
- roles- the authorities to test (i.e. "USER", "ADMIN")
- Returns:
- true if any of the authorities is found, else false
 
- 
getAuthenticationDescription copied from interface:SecurityExpressionOperationsGets theAuthenticationused for evaluating the expressions- Specified by:
- getAuthenticationin interface- SecurityExpressionOperations
- Returns:
- the Authenticationfor evaluating the expressions
 
- 
permitAllpublic final boolean permitAll()Description copied from interface:SecurityExpressionOperationsAlways grants access.- Specified by:
- permitAllin interface- SecurityExpressionOperations
- Returns:
- true
 
- 
denyAllpublic final boolean denyAll()Description copied from interface:SecurityExpressionOperationsAlways denies access- Specified by:
- denyAllin interface- SecurityExpressionOperations
- Returns:
- false
 
- 
isAnonymouspublic final boolean isAnonymous()Description copied from interface:SecurityExpressionOperationsDetermines if theSecurityExpressionOperations.getAuthentication()is anonymous- Specified by:
- isAnonymousin interface- SecurityExpressionOperations
- Returns:
- true if the user is anonymous, else false
 
- 
isAuthenticatedpublic final boolean isAuthenticated()Description copied from interface:SecurityExpressionOperationsDetermines iftheSecurityExpressionOperations.getAuthentication()is authenticated- Specified by:
- isAuthenticatedin interface- SecurityExpressionOperations
- Returns:
- true if the SecurityExpressionOperations.getAuthentication()is authenticated, else false
 
- 
isRememberMepublic final boolean isRememberMe()Description copied from interface:SecurityExpressionOperationsDetermines if theSecurityExpressionOperations.getAuthentication()was authenticated using remember me- Specified by:
- isRememberMein interface- SecurityExpressionOperations
- Returns:
- true if the SecurityExpressionOperations.getAuthentication()authenticated using remember me, else false
 
- 
isFullyAuthenticatedpublic final boolean isFullyAuthenticated()Description copied from interface:SecurityExpressionOperationsDetermines if theSecurityExpressionOperations.getAuthentication()authenticated without the use of remember me- Specified by:
- isFullyAuthenticatedin interface- SecurityExpressionOperations
- Returns:
- true if the SecurityExpressionOperations.getAuthentication()authenticated without the use of remember me, else false
 
- 
getPrincipalConvenience method to accessAuthentication.getPrincipal()fromgetAuthentication()- Returns:
 
- 
setTrustResolver
- 
setRoleHierarchy
- 
setDefaultRolePrefixSets the default prefix to be added to hasAnyRole(String...)orhasRole(String). For example, if hasRole("ADMIN") or hasRole("ROLE_ADMIN") is passed in, then the role ROLE_ADMIN will be used when the defaultRolePrefix is "ROLE_" (default).If null or empty, then no default role prefix is used. - Parameters:
- defaultRolePrefix- the default prefix to add to roles. Default "ROLE_".
 
- 
hasPermissionDescription copied from interface:SecurityExpressionOperationsDetermines if theSecurityExpressionOperations.getAuthentication()has permission to access the target given the permission- Specified by:
- hasPermissionin interface- SecurityExpressionOperations
- Parameters:
- target- the target domain object to check permission on
- permission- the permission to check on the domain object (i.e. "read", "write", etc.).
- Returns:
- true if permission is granted to the SecurityExpressionOperations.getAuthentication(), else false
 
- 
hasPermissionDescription copied from interface:SecurityExpressionOperationsDetermines if theSecurityExpressionOperations.getAuthentication()has permission to access the domain object with a given id, type, and permission.- Specified by:
- hasPermissionin interface- SecurityExpressionOperations
- Parameters:
- targetId- the identifier of the domain object to determine access
- targetType- the type (i.e. com.example.domain.Message)
- permission- the permission to check on the domain object (i.e. "read", "write", etc.)
- Returns:
- true if permission is granted to the SecurityExpressionOperations.getAuthentication(), else false
 
- 
setPermissionEvaluator
 
-