<bean id="LoggingBeforeAdvise"
class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">
<ref local="LoggingInterceptor" />
</property>
<property name="pattern">
<value>com/action/LoginAction/execute</value>
</property>
</bean>
-----------------------
应该是这个地方不对

解决方案 »

  1.   

    <bean id="LoggingBeforeAdvise"
    class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
    <property name="advice">
    <ref local="LoggingInterceptor" />
    </property>
    <property name="pattern">
    <value>*/</value>
    </property>
    </bean>
    这样我也试过的哦。 可是还是 不可以的。
      

  2.   

    你的AOP定义是有问题的。以前我也是象你这样的设置,但是如果AOP目标是ACTION的,那么AOP不会有作用。因为它会直接应用AOP到你实现接口或父类的方法上,你需要指定proxyInterfaces属性。以下给你一个参考:
    <bean id="adminDao" class="cn.com.sand.dao.AdminDao">
    <property name="hibernateTemplate">
    <ref bean="hibernateTemplate"/>
    </property>
    </bean>
    <bean id="adminServiceTarget" class="cn.com.sand.service.AdminService">
    <property name="dao">
    <ref bean="adminDao"/>
    </property>
    </bean>
    <bean id="securityAdvice" class="cn.com.sand.aop.SecurityAdvice">
    <property name="service">
    <ref bean="adminServiceTarget"/>
    </property>
    </bean>
    <bean id="securityPointcutAdvisor"
    class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
    <property name="mappedNames">
    <list>
    <value>validate</value>
    <value>queryArticleCatalog</value>
    <value>addArticleCatalog</value>
    <value>editArticleCatalog</value>
    <value>delArticleCatalog</value>
    </list>
    </property>
    <property name="advice">
    <ref bean="securityAdvice"/>
    </property>
    </bean>

    <!-- 定义所有需要权限检查的基类模板 -->
    <bean id="abstractAction" lazy-init="true" abstract="true"
    class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="interceptorNames">
    <list>
    <value>securityPointcutAdvisor</value>
    </list>
    </property>
    </bean>

    <!--所有需要权限检查的bean定义-->
    <bean id="adminService" parent="abstractAction">
    <property name="proxyInterfaces">
    <value>cn.com.sand.service.ValidateUserService</value>
    </property>
    <property name="target">
    <ref bean="adminServiceTarget"/>
    </property>
    </bean>
      

  3.   

    补充:只要在ACTION中调用adminService的validate方法,就会进行AOP拦截,进行权限验证
      

  4.   

    你的意思就是说:拦截ACTION 里面的方法时,
                    需要在spring的培植文件中利用proxyInterfaces属性,
                    指定ACTION的父类或是接口. 那么属性 pattern 如何匹配^^^^^^^^^^^^^^
                     怎么样能达到 就是执行我的ACTION 中动作的时候就拦截?
                     需要配置时注意那些地方?