2012-03-05 76 views
0

我设置基本的春天认证。当用户访问页面并输入安全的URL时,登录表单会呈现,但我想显示错误403页面(或我选择的任何其他页面)。春季安全:显示错误页面403,而不是登录表单页面非认证用户

如果我理解正确的话,我不能使用access-denied-handler,因为用户完全没有验证。

如何显示任何其他页面不是登录表单页面未验证用户,当他访问安全网址是什么?

回答

2

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

您可以通过使用entry-point-ref属性注入custom entry point覆盖。

您可以使用代码Http403ForbiddenEntryPoint为指针(或使用直接,如果你想要的是发送到客户端的响应代码)。

0

添加下面的标签在你的安全上下文文件。

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

在HTTP标签添加这个象下面这样:

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

这并没有为我工作。我已经设置了'access-denied-page =“/ error/403”'。 URL被映射到控制器,并且也在web.xml中设置为错误代码403的默认URL。 – kurochenko 2012-03-07 11:33:00

相关问题