Browse Source

Minor corrections to aspectj interceptor docs.

3.0.x
Luke Taylor 16 years ago
parent
commit
38837775a5
  1. 26
      docs/manual/src/docbook/secured-objects.xml

26
docs/manual/src/docbook/secured-objects.xml

@ -28,7 +28,7 @@ @@ -28,7 +28,7 @@
<para> You can of course configure a <classname>MethodSecurityIterceptor</classname> directly
in your application context for use with one of Spring AOP's proxying mechanisms: <programlisting><![CDATA[
<bean id="bankManagerSecurity"
class="org.springframework.security.intercept.aopalliance.MethodSecurityInterceptor">
class="org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor">
<property name="authenticationManager" ref="authenticationManager"/>
<property name="accessDecisionManager" ref="accessDecisionManager"/>
<property name="afterInvocationManager" ref="afterInvocationManager"/>
@ -61,7 +61,7 @@ @@ -61,7 +61,7 @@
in the Spring application context:</para>
<programlisting><![CDATA[
<bean id="bankManagerSecurity"
class="org.springframework.security.intercept.aspectj.AspectJSecurityInterceptor">
class="org.springframework.security.access.intercept.aspectj.AspectJSecurityInterceptor">
<property name="authenticationManager" ref="authenticationManager"/>
<property name="accessDecisionManager" ref="accessDecisionManager"/>
<property name="afterInvocationManager" ref="afterInvocationManager"/>
@ -92,12 +92,12 @@ import org.springframework.beans.factory.InitializingBean; @@ -92,12 +92,12 @@ import org.springframework.beans.factory.InitializingBean;
public aspect DomainObjectInstanceSecurityAspect implements InitializingBean {
private AspectJSecurityInterceptor securityInterceptor;
private AspectJSecurityInterceptor securityInterceptor;
pointcut domainObjectInstanceExecution(): target(PersistableEntity)
pointcut domainObjectInstanceExecution(): target(PersistableEntity)
&amp;&amp; execution(public * *(..)) &amp;&amp; !within(DomainObjectInstanceSecurityAspect);
Object around(): domainObjectInstanceExecution() {
Object around(): domainObjectInstanceExecution() {
if (this.securityInterceptor == null) {
return proceed();
}
@ -109,21 +109,23 @@ Object around(): domainObjectInstanceExecution() { @@ -109,21 +109,23 @@ Object around(): domainObjectInstanceExecution() {
};
return this.securityInterceptor.invoke(thisJoinPoint, callback);
}
}
public AspectJSecurityInterceptor getSecurityInterceptor() {
public AspectJSecurityInterceptor getSecurityInterceptor() {
return securityInterceptor;
}
}
public void setSecurityInterceptor(AspectJSecurityInterceptor securityInterceptor) {
public void setSecurityInterceptor(AspectJSecurityInterceptor securityInterceptor) {
this.securityInterceptor = securityInterceptor;
}
}
public void afterPropertiesSet() throws Exception {
public void afterPropertiesSet() throws Exception {
if (this.securityInterceptor == null)
throw new IllegalArgumentException("securityInterceptor required");
}
}</programlisting>
}
}
</programlisting>
<para>In the above example, the security interceptor will be applied to every instance of
<literal>PersistableEntity</literal>, which is an abstract class not shown (you can use any
other class or <literal>pointcut</literal> expression you like). For those curious,

Loading…
Cancel
Save