我使用下面的配置拒绝访问页面
<security:access-denied-handler error-page="/noAccess"/>
然后映射/ noaccess下到控制器。 但是当我尝试接入资源到我没有访问我得到一个错误页面
HTTP状态404 - 浏览器/ mycontext / noaccess下
不过,当我键入整个URL 的http://abc.mycompany:8080 / mycontext / noaccess下我可以看到错误页面。 任何想法,为什么春天不重定向到控制器?
我使用下面的配置拒绝访问页面在我的项目,这是为我工作。
根据您的需要进行更改。
<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>
以下添加到您的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>
创建以下页面和这些添加到关联的文件夹
resourceNotFound.jsp
uncaughtException.jsp
dataAccessFailure.jsp