Spring安全性:显示错误403页面而不是非经过身份验证的用户的登录表单页面

时间:2012-03-05 10:16:22

标签: login spring-security http-status-code-403

我已经设置了基本的Spring身份验证。当用户访问页面并输入安全URL时,将呈现登录表单,但我想显示错误403页面(或我选择的任何其他页面)。

如果我理解正确,我就无法使用access-denied-handler,因为用户根本没有经过身份验证。

当他访问安全网址时,如何向非认证用户显示除登录表单页面之外的任何其他页面?

2 个答案:

答案 0 :(得分:2)

当您使用form-login默认AuthenticationEntryPoint重定向到登录页面时。

您可以使用entry-point-ref属性注入custom entry point来覆盖此设置。

您可以使用Http403ForbiddenEntryPoint的代码作为指导(如果您想要的只是发送给客户的响应代码,则直接使用该代码)。

答案 1 :(得分:0)

在安全上下文文件中添加以下标记。

access-denied-page="<name of the page>"

在http标签中添加如下:

<http auto-config="true" access-denied-page="/authenticationfailed.jsp">