我设置基本的春天认证。当用户访问页面并输入安全的URL时,登录表单会呈现,但我想显示错误403页面(或我选择的任何其他页面)。春季安全:显示错误页面403,而不是登录表单页面非认证用户
如果我理解正确的话,我不能使用access-denied-handler
,因为用户完全没有验证。
如何显示任何其他页面不是登录表单页面未验证用户,当他访问安全网址是什么?
我设置基本的春天认证。当用户访问页面并输入安全的URL时,登录表单会呈现,但我想显示错误403页面(或我选择的任何其他页面)。春季安全:显示错误页面403,而不是登录表单页面非认证用户
如果我理解正确的话,我不能使用access-denied-handler
,因为用户完全没有验证。
如何显示任何其他页面不是登录表单页面未验证用户,当他访问安全网址是什么?
当您使用form-login
时,默认AuthenticationEntryPoint
重定向到登录页面。
您可以通过使用entry-point-ref
属性注入custom entry point覆盖。
您可以使用代码Http403ForbiddenEntryPoint
为指针(或使用直接,如果你想要的是发送到客户端的响应代码)。
添加下面的标签在你的安全上下文文件。
access-denied-page="<name of the page>"
在HTTP标签添加这个象下面这样:
<http auto-config="true" access-denied-page="/authenticationfailed.jsp">
这并没有为我工作。我已经设置了'access-denied-page =“/ error/403”'。 URL被映射到控制器,并且也在web.xml中设置为错误代码403的默认URL。 – kurochenko 2012-03-07 11:33:00