public class

MapBasedMethodSecurityMetadataSource

extends AbstractFallbackMethodSecurityMetadataSource
java.lang.Object
   ↳ org.springframework.security.access.method.AbstractMethodSecurityMetadataSource
     ↳ org.springframework.security.access.method.AbstractFallbackMethodSecurityMetadataSource
       ↳ org.springframework.security.access.method.MapBasedMethodSecurityMetadataSource

Class Overview

Stores a list of ConfigAttributes for a method or class signature.

This class is the preferred implementation of MethodSecurityMetadataSource for XML-based definition of method security metadata. To assist in XML-based definition, wildcard support is provided.

Summary

Fields
protected final Map<MapBasedMethodSecurityMetadataSource.RegisteredMethod, List<ConfigAttribute>> methodMap Map from RegisteredMethod to ConfigAttribute list
[Expand]
Inherited Fields
From class org.springframework.security.access.method.AbstractMethodSecurityMetadataSource
Public Constructors
MapBasedMethodSecurityMetadataSource()
MapBasedMethodSecurityMetadataSource(Map<StringList<ConfigAttribute>> methodMap)
Creates the MapBasedMethodSecurityMetadataSource from a
Public Methods
void addSecureMethod(Class<?> javaType, Method method, List<ConfigAttribute> attr)
Adds configuration attributes for a specific method, for example where the method has been matched using a pointcut expression.
void addSecureMethod(Class<?> javaType, String mappedName, List<ConfigAttribute> attr)
Add configuration attributes for a secure method.
Collection<ConfigAttribute> getAllConfigAttributes()
Obtains the configuration attributes explicitly defined against this bean.
int getMethodMapSize()
void setBeanClassLoader(ClassLoader beanClassLoader)
Protected Methods
Collection<ConfigAttribute> findAttributes(Class<?> clazz)
Implementation does not support class-level attributes.
Collection<ConfigAttribute> findAttributes(Method method, Class<?> targetClass)
Will walk the method inheritance tree to find the most specific declaration applicable.
[Expand]
Inherited Methods
From class org.springframework.security.access.method.AbstractFallbackMethodSecurityMetadataSource
From class org.springframework.security.access.method.AbstractMethodSecurityMetadataSource
From class java.lang.Object
From interface org.springframework.security.access.SecurityMetadataSource
From interface org.springframework.security.access.method.MethodSecurityMetadataSource

Fields

protected final Map<MapBasedMethodSecurityMetadataSource.RegisteredMethod, List<ConfigAttribute>> methodMap

Map from RegisteredMethod to ConfigAttribute list

Public Constructors

public MapBasedMethodSecurityMetadataSource ()

public MapBasedMethodSecurityMetadataSource (Map<StringList<ConfigAttribute>> methodMap)

Creates the MapBasedMethodSecurityMetadataSource from a

Parameters
methodMap map of method names to ConfigAttributes.

Public Methods

public void addSecureMethod (Class<?> javaType, Method method, List<ConfigAttribute> attr)

Adds configuration attributes for a specific method, for example where the method has been matched using a pointcut expression. If a match already exists in the map for the method, then the existing match will be retained, so that if this method is called for a more general pointcut it will not override a more specific one which has already been added.

This method should only be called during initialization of the BeanFactory.

public void addSecureMethod (Class<?> javaType, String mappedName, List<ConfigAttribute> attr)

Add configuration attributes for a secure method. Mapped method names can end or start with * for matching multiple methods.

Parameters
javaType target interface or class the security configuration attribute applies to
mappedName mapped method name, which the javaType has declared or inherited
attr required authorities associated with the method

public Collection<ConfigAttribute> getAllConfigAttributes ()

Obtains the configuration attributes explicitly defined against this bean.

Returns
  • the attributes explicitly defined against this bean

public int getMethodMapSize ()

Returns
  • map size (for unit tests and diagnostics)

public void setBeanClassLoader (ClassLoader beanClassLoader)

Protected Methods

protected Collection<ConfigAttribute> findAttributes (Class<?> clazz)

Implementation does not support class-level attributes.

Parameters
clazz the target class for the invocation (never null)
Returns
  • the security metadata (or null if no metadata applies)

protected Collection<ConfigAttribute> findAttributes (Method method, Class<?> targetClass)

Will walk the method inheritance tree to find the most specific declaration applicable.

Parameters
method the method for the current invocation (never null)
targetClass the target class for the invocation (may be null)
Returns
  • the security metadata (or null if no metadata applies)