Class AspectJSecurityInterceptor

  extended by
      extended by
All Implemented Interfaces:
InitializingBean, ApplicationEventPublisherAware, MessageSourceAware

public class AspectJSecurityInterceptor
extends AbstractSecurityInterceptor

Provides security interception of AspectJ method invocations.

The SecurityMetadataSource required by this security interceptor is of type MethodSecurityMetadataSource. This is shared with the AOP Alliance based security interceptor (MethodSecurityInterceptor), since both work with Java Methods.

The secure object type is org.aspectj.lang.JoinPoint, which is passed from the relevant around() advice. The around() advice also passes an anonymous implementation of AspectJCallback which contains the call for AspectJ to continue processing: return proceed();.

Refer to AbstractSecurityInterceptor for details on the workflow.

$Id: 3655 2009-05-11 05:44:31Z ltaylor $
Ben Alex

Field Summary
Fields inherited from class
logger, messages
Constructor Summary
Method Summary
 Class<? extends Object> getSecureObjectClass()
          Indicates the type of secure objects the subclass will be presenting to the abstract parent for processing.
 Object invoke(org.aspectj.lang.JoinPoint jp, AspectJCallback advisorProceed)
          This method should be used to enforce security on a JoinPoint.
 SecurityMetadataSource obtainSecurityMetadataSource()
 void setSecurityMetadataSource(MethodSecurityMetadataSource newSource)
Methods inherited from class
afterInvocation, afterPropertiesSet, beforeInvocation, getAccessDecisionManager, getAfterInvocationManager, getAuthenticationManager, getRunAsManager, isAlwaysReauthenticate, isRejectPublicInvocations, isValidateConfigAttributes, setAccessDecisionManager, setAfterInvocationManager, setAlwaysReauthenticate, setApplicationEventPublisher, setAuthenticationManager, setMessageSource, setRejectPublicInvocations, setRunAsManager, setValidateConfigAttributes
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public AspectJSecurityInterceptor()
Method Detail


public Class<? extends Object> 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 the AbstractSecurityInterceptor all support the indicated secure object class.

Specified by:
getSecureObjectClass in class AbstractSecurityInterceptor
the type of secure object the subclass provides services for


public Object invoke(org.aspectj.lang.JoinPoint jp,
                     AspectJCallback advisorProceed)
This method should be used to enforce security on a JoinPoint.

jp - The AspectJ joint point being invoked which requires a security decision
advisorProceed - the advice-defined anonymous class that implements AspectJCallback containing a simple return proceed(); statement
The returned value from the method invocation


public SecurityMetadataSource obtainSecurityMetadataSource()
Specified by:
obtainSecurityMetadataSource in class AbstractSecurityInterceptor


public void setSecurityMetadataSource(MethodSecurityMetadataSource newSource)

Copyright © 2004-2009 SpringSource, Inc. All Rights Reserved.