Struts2+Acegi整合的问题
最近做个项目,整合了SSH和Acegi,在web.xml中配置了Acegi的拦截器在Struts2拦截器之前,现在其他一切都正常,只有一个问题:就是Acegi在验证权限失败后(也就是请求的url资源不是当前用户权限范围内的)转向的页面中不能有struts2的标签,只要有Struts2的标签,就会报错:The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter.
web.xml配置片段如下:
Acegi验证权限失败的配置片段如下:
web.xml配置片段如下:
<!-- Acegi拦截器 -->
<filter>
<filter-name>AcegiFilterChainProxy</filter-name>
<filter-class>
org.acegisecurity.util.FilterToBeanProxy
</filter-class>
<init-param>
<param-name>targetClass</param-name>
<param-value>
org.acegisecurity.util.FilterChainProxy
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>AcegiFilterChainProxy</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Struts2拦截器 -->
<filter>
<filter-name>
struts2
</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>
struts2
</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>Acegi验证权限失败的配置片段如下:
<bean id="exceptionTranslationFilter"
class="org.acegisecurity.ui.ExceptionTranslationFilter">
<property name="authenticationEntryPoint">
<ref bean="authenticationProcessingFilterEntryPoint" />
</property>
<property name="accessDeniedHandler">
<bean
class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
<property name="errorPage" value="/accessDenied.jsp" />
</bean>
</property>
</bean>
...全文
相关推荐
Spring Framework 3.0.5+Spring Security 3.0.5+ mybatis 3.0.5+ Struts 2.2.3整合代码
标题中的"Spring Framework 3.0.5+Spring Security 3.0.5+ mybatis 3.0.5+ Struts 2.2.3整合代码"涉及到四个关键的Java开发框架,它们分别是
hibernate+spring+struts
《整合Hibernate、Spring与Struts:构建高效企业级应用》在Java开发领域,"Hibernate+Spring+Struts"(简称HSS)是经典的MVC架构模式,常用于构建复杂的企业级应用程序
基于SSH2架构的在线竞拍系统
【基于SSH2架构的在线竞拍系统】SSH2(Struts2+Spring+Hibernate)是企业级Web应用程序开发中常用的技术栈,它整合了三种强大的开源框架,分别为Struts2负责MVC(Model-View-Controller
分别基于ssh与ssh2两个人力资源管理系统
**整合与集成**: SSH和SSH2框架的整合主要体现在Spring作为核心,连接Struts和Hibernate,协调各个组件的工作。
基于jsp+ssh人保助贷部贷款申请系统源码数据库.zip
例如,Struts2的拦截器可以拦截非法请求,Spring Security(原名Acegi)可以提供细粒度的访问控制。


