Interface SecurityMetadataSource

All Superinterfaces:
org.springframework.aop.framework.AopInfrastructureBean
All Known Subinterfaces:
FilterInvocationSecurityMetadataSource, MessageSecurityMetadataSource, MethodSecurityMetadataSource
All Known Implementing Classes:
AbstractFallbackMethodSecurityMetadataSource, AbstractMethodSecurityMetadataSource, DefaultFilterInvocationSecurityMetadataSource, DefaultMessageSecurityMetadataSource, DelegatingMethodSecurityMetadataSource, ExpressionBasedFilterInvocationSecurityMetadataSource, Jsr250MethodSecurityMetadataSource, MapBasedMethodSecurityMetadataSource, PrePostAnnotationSecurityMetadataSource, SecuredAnnotationSecurityMetadataSource

public interface SecurityMetadataSource extends org.springframework.aop.framework.AopInfrastructureBean
Implemented by classes that store and can identify the ConfigAttributes that applies to a given secure object invocation.
  • Method Summary

    Modifier and Type
    Method
    Description
    If available, returns all of the ConfigAttributes defined by the implementing class.
    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.
  • Method Details

    • getAttributes

      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.
      Throws:
      IllegalArgumentException - if the passed object is not of a type supported by the SecurityMetadataSource implementation
    • getAllConfigAttributes

      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
    • supports

      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