我已经设置了基本的Spring身份验证。当用户访问页面并输入安全URL时,将呈现登录表单,但我想显示错误403页面(或我选择的任何其他页面)。
如果我理解正确,我就无法使用access-denied-handler
,因为用户根本没有经过身份验证。
当他访问安全网址时,如何向非认证用户显示除登录表单页面之外的任何其他页面?
答案 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">