public class

DefaultFilterInvocationSecurityMetadataSource

extends Object
implements FilterInvocationSecurityMetadataSource
java.lang.Object
   ↳ org.springframework.security.web.access.intercept.DefaultFilterInvocationSecurityMetadataSource
Known Direct Subclasses

Class Overview

Default implementation of FilterInvocationDefinitionSource.

Stores an ordered map of RequestMatchers to ConfigAttribute collections and provides matching of FilterInvocations against the items stored in the map.

The order of the RequestMatchers 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.

Summary

Fields
protected final Log logger
Public Constructors
DefaultFilterInvocationSecurityMetadataSource(LinkedHashMap<RequestMatcherCollection<ConfigAttribute>> requestMap)
Sets the internal request map from the supplied map.
Public Methods
Collection<ConfigAttribute> getAllConfigAttributes()
If available, returns all of the ConfigAttributes defined by the implementing class.
Collection<ConfigAttribute> getAttributes(Object object)
Accesses the ConfigAttributes that apply to a given secure object.
boolean supports(Class<?> clazz)
Indicates whether the SecurityMetadataSource implementation is able to provide ConfigAttributes for the indicated secure object type.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.security.access.SecurityMetadataSource

Fields

protected final Log logger

Public Constructors

public DefaultFilterInvocationSecurityMetadataSource (LinkedHashMap<RequestMatcherCollection<ConfigAttribute>> requestMap)

Sets the internal request map from the supplied map. The key elements should be of type RequestMatcher, which. The path stored in the key will depend on the type of the supplied UrlMatcher.

Parameters
requestMap order-preserving map of request definitions to attribute lists

Public Methods

public Collection<ConfigAttribute> getAllConfigAttributes ()

If available, returns all of the ConfigAttributes defined by the implementing class.

This is used by the AbstractSecurityInterceptor to perform startup time validation of each ConfigAttribute configured against it.

Returns
  • the ConfigAttributes or null if unsupported

public Collection<ConfigAttribute> getAttributes (Object object)

Accesses the ConfigAttributes that apply to a given secure object.

Parameters
object the object being secured
Returns
  • the attributes that apply to the passed in secured object. Should return an empty collection if there are no applicable attributes.

public boolean supports (Class<?> clazz)

Indicates whether the SecurityMetadataSource implementation is able to provide ConfigAttributes for the indicated secure object type.

Parameters
clazz the class that is being queried
Returns
  • true if the implementation can process the indicated class