Spring Security - 身份验证失败 - 空白消息

时间:2015-03-11 14:28:10

标签: java spring spring-mvc spring-security

我正在开发一个spring-mvc Web应用程序。

在我的登录页面上,如果用户输入了错误的凭据,我想显示错误消息。

所以我尝试使用spring security来显示错误消息,但是我无法显示任何消息。

的login.jsp

对于登录表单我已完成绑定:

<form method="post" action="<c:url value='/j_spring_security_check' />" id="loginForm">
.... login ui
</form>

用于显示错误:

<c:if test="${not empty param.error}">
    <div>
        <c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}"/>
    </div>
</c:if> 

安全-context.xml中

<form-login login-page="/login" default-target-url="/home" always-use-default-target="false" authentication-failure-url="/login?error=true" />
启用所有这些选项后,

仍然无法在提供的错误凭据上显示错误消息。

如果您想要任何其他信息,请告诉我。

PS:快速说明,休息整个配置和应用程序运行正常。用户可以登录。我扩展了UserDetailsContextMapper,对于匿名用户,我抛出异常 UsernameNotFoundException

1 个答案:

答案 0 :(得分:0)

最后我弄明白了这个问题。这些消息存储在会话中,并保存在我的页面上:

<%@ page session="false"%>

我把它改为:

<%@ page session="true"%>

它开始工作了。我得到的另一个好消息是,如果您想要显示自定义错误消息,那么覆盖这些消息非常简单。有关详细信息,请参阅this链接。