【发布时间】:2014-01-16 12:07:22
【问题描述】:
我正在尝试设置我的 spring mvc webapp 以使用 spring access-denied-handler,但无法让它捕获错误。使用我的配置,看起来 spring 正在转发到拒绝访问处理程序,但是由于某种原因,当执行我的拒绝访问处理程序时,我得到一个 404 未找到。 HTTP 状态 404 - /accessDenied。
有人可以帮我找出这里可能出了什么问题吗?我肯定有一个名为 accessDenied.jsp 的jsp
<!-- Resources -->
<intercept-url pattern="/resources/css/*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/resources/images/*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/resources/js/*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<!-- Pages -->
<intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/accessDenied" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/welcome" access="ROLE_LEVEL7" />
<intercept-url pattern="/priceOverride" access="ROLE_LEVEL7" />
<!-- Error handlers -->
<access-denied-handler ref="accessDeniedHandler" />
然后在我的 mvc-dispatcher-servlet...
<context:component-scan base-package="com.company.reporting.controller" />
<bean id="accessDeniedHandler"
class="com.company.reporting.handler.ReportingAccessDeniedHandler">
<property name="accessDeniedUrl" value="/accessDenied" />
</bean>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:annotation-driven />
谢谢
【问题讨论】: