我使用以下配置访问被拒绝的页面
<security:access-denied-handler error-page="/noAccess"/>
然后映射/ noAccess到控制器。但是当我尝试访问我无法访问的资源时,我得到一个错误页面
HTTP状态404 - /浏览器中的mycontext / noAccess
虽然当我输入整个网址http://abc.mycompany:8080/mycontext/noAccess时,我可以看到错误页面。任何想法为什么弹簧没有重定向到控制器?
答案 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