public class DefaultFilterInvocationSecurityMetadataSource extends Object implements FilterInvocationSecurityMetadataSource
Stores an ordered map of RequestMatcher
s to ConfigAttribute collections and provides matching
of FilterInvocation
s against the items stored in the map.
The order of the RequestMatcher
s in the map is very important. The first one which matches the
request will be used. Later matchers in the map will not be invoked if a match has already been found.
Accordingly, the most specific matchers should be registered first, with the most general matches registered last.
The most common method creating an instance is using the Spring Security namespace. For example, the pattern
and access
attributes of the <intercept-url>
elements defined as children of the
<http>
element are combined to build the instance used by the FilterSecurityInterceptor
.
Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.logging.Log |
logger |
Constructor and Description |
---|
DefaultFilterInvocationSecurityMetadataSource(LinkedHashMap<RequestMatcher,Collection<ConfigAttribute>> requestMap)
Sets the internal request map from the supplied map.
|
Modifier and Type | Method and Description |
---|---|
Collection<ConfigAttribute> |
getAllConfigAttributes()
If available, returns all of the
ConfigAttribute s defined by the implementing class. |
Collection<ConfigAttribute> |
getAttributes(Object object)
Accesses the
ConfigAttribute s that apply to a given secure object. |
boolean |
supports(Class<?> clazz)
Indicates whether the
SecurityMetadataSource implementation is able to provide
ConfigAttribute s for the indicated secure object type. |
public DefaultFilterInvocationSecurityMetadataSource(LinkedHashMap<RequestMatcher,Collection<ConfigAttribute>> requestMap)
RequestMatcher
,
which. The path stored in the key will depend on
the type of the supplied UrlMatcher.requestMap
- order-preserving map of request definitions to attribute listspublic Collection<ConfigAttribute> getAllConfigAttributes()
SecurityMetadataSource
ConfigAttribute
s defined by the implementing class.
This is used by the AbstractSecurityInterceptor
to perform startup time validation of each
ConfigAttribute
configured against it.
getAllConfigAttributes
in interface SecurityMetadataSource
ConfigAttribute
s or null
if unsupportedpublic Collection<ConfigAttribute> getAttributes(Object object)
SecurityMetadataSource
ConfigAttribute
s that apply to a given secure object.getAttributes
in interface SecurityMetadataSource
object
- the object being securedpublic boolean supports(Class<?> clazz)
SecurityMetadataSource
SecurityMetadataSource
implementation is able to provide
ConfigAttribute
s for the indicated secure object type.supports
in interface SecurityMetadataSource
clazz
- the class that is being queried