Class MethodSecurityInterceptor
- java.lang.Object
-
- org.springframework.security.access.intercept.AbstractSecurityInterceptor
-
- org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor
-
- All Implemented Interfaces:
org.aopalliance.aop.Advice
,org.aopalliance.intercept.Interceptor
,org.aopalliance.intercept.MethodInterceptor
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationEventPublisherAware
,org.springframework.context.MessageSourceAware
- Direct Known Subclasses:
AspectJMethodSecurityInterceptor
public class MethodSecurityInterceptor extends AbstractSecurityInterceptor implements org.aopalliance.intercept.MethodInterceptor
Provides security interception of AOP Alliance based method invocations.The
SecurityMetadataSource
required by this security interceptor is of typeMethodSecurityMetadataSource
. This is shared with the AspectJ based security interceptor (AspectJSecurityInterceptor
), since both work with JavaMethod
s.Refer to
AbstractSecurityInterceptor
for details on the workflow.
-
-
Field Summary
-
Fields inherited from class org.springframework.security.access.intercept.AbstractSecurityInterceptor
logger, messages
-
-
Constructor Summary
Constructors Constructor Description MethodSecurityInterceptor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<?>
getSecureObjectClass()
Indicates the type of secure objects the subclass will be presenting to the abstract parent for processing.MethodSecurityMetadataSource
getSecurityMetadataSource()
java.lang.Object
invoke(org.aopalliance.intercept.MethodInvocation mi)
This method should be used to enforce security on aMethodInvocation
.SecurityMetadataSource
obtainSecurityMetadataSource()
void
setSecurityMetadataSource(MethodSecurityMetadataSource newSource)
-
Methods inherited from class org.springframework.security.access.intercept.AbstractSecurityInterceptor
afterInvocation, afterPropertiesSet, beforeInvocation, finallyInvocation, getAccessDecisionManager, getAfterInvocationManager, getAuthenticationManager, getRunAsManager, isAlwaysReauthenticate, isRejectPublicInvocations, isValidateConfigAttributes, setAccessDecisionManager, setAfterInvocationManager, setAlwaysReauthenticate, setApplicationEventPublisher, setAuthenticationManager, setMessageSource, setPublishAuthorizationSuccess, setRejectPublicInvocations, setRunAsManager, setSecurityContextHolderStrategy, setValidateConfigAttributes
-
-
-
-
Method Detail
-
getSecureObjectClass
public java.lang.Class<?> getSecureObjectClass()
Description copied from class:AbstractSecurityInterceptor
Indicates the type of secure objects the subclass will be presenting to the abstract parent for processing. This is used to ensure collaborators wired to theAbstractSecurityInterceptor
all support the indicated secure object class.- Specified by:
getSecureObjectClass
in classAbstractSecurityInterceptor
- Returns:
- the type of secure object the subclass provides services for
-
invoke
public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation mi) throws java.lang.Throwable
This method should be used to enforce security on aMethodInvocation
.- Specified by:
invoke
in interfaceorg.aopalliance.intercept.MethodInterceptor
- Parameters:
mi
- The method being invoked which requires a security decision- Returns:
- The returned value from the method invocation (possibly modified by the
AfterInvocationManager
). - Throws:
java.lang.Throwable
- if any error occurs
-
getSecurityMetadataSource
public MethodSecurityMetadataSource getSecurityMetadataSource()
-
obtainSecurityMetadataSource
public SecurityMetadataSource obtainSecurityMetadataSource()
- Specified by:
obtainSecurityMetadataSource
in classAbstractSecurityInterceptor
-
setSecurityMetadataSource
public void setSecurityMetadataSource(MethodSecurityMetadataSource newSource)
-
-