Struts2+Acegi整合的问题

jayjerry 2009-04-17 08:22:02
最近做个项目,整合了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拦截器 -->
<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>


...全文
146 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
临远 2010-03-22
  • 打赏
  • 举报
回复
没法子,servlet-2.4以后,filter默认只拦截request,想拦截forward必须手工添加上。


<filter>
<filter-name>TestFilter</filtername>
<filter-class>anni.TestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>TestFilter</filtername>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>EXCEPTION</dispatcher>
</filter-mapping>

游侠KnighT 2010-03-22
  • 打赏
  • 举报
回复
最近我也在研究这个~路过共同学习下

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧