访问被拒绝页面使用spring security无法正常工作

时间:2013-08-06 10:31:10

标签: java spring-mvc spring-security

我使用以下配置访问被拒绝的页面

 <security:access-denied-handler error-page="/noAccess"/>

然后映射/ noAccess到控制器。但是当我尝试访问我无法访问的资源时,我得到一个错误页面

HTTP状态404 - /浏览器中的mycontext / noAccess

虽然当我输入整个网址http://abc.mycompany:8080/mycontext/noAccess时,我可以看到错误页面。任何想法为什么弹簧没有重定向到控制器?

2 个答案:

答案 0 :(得分:0)

我在我的项目中使用以下配置访问拒绝页面,它对我有效。

根据您的需要进行更改。

<security:http auto-config="true" use-expressions="true" access-denied-page="/accessDenied.jsp">

        <security:form-login login-page="/index.jsp"
            default-target-url="/jsp/home.jsp" />


        <security:intercept-url pattern="/jsp/listInBetweenPlaces.jsp"
            access="permitAll" />
</security:http>

答案 1 :(得分:0)

将以下内容添加到bean配置中。

  <mvc:view-controller path="/uncaughtException"/>
  <mvc:view-controller path="/resourceNotFound"/>
  <mvc:view-controller path="/dataAccessFailure"/>

 <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"    p:defaultErrorView="uncaughtException">
    <property name="exceptionMappings">
        <props>
            <prop key=".DataAccessException">dataAccessFailure</prop>
            <prop key=".NoSuchRequestHandlingMethodException">resourceNotFound</prop>
            <prop key=".TypeMismatchException">resourceNotFound</prop>
            <prop key=".MissingServletRequestParameterException">resourceNotFound</prop>
        </props>
    </property>
</bean>

创建以下页面并将其添加到Context文件夹

     resourceNotFound.jsp
     uncaughtException.jsp
     dataAccessFailure.jsp