Spring Security - 没有重定向的身份验证失败消息

时间:2015-09-22 04:09:17

标签: spring authentication spring-security

如何在Spring Security中显示没有重定向的身份验证失败消息?

我可以找到类似的问题,例如How to display error message in my JSP page using spring security 2.0Spring Security - Authentication Failure - Blank Message,其中描述的方法很糟糕。

我不喜欢使用 authentication-failure-url 属性。我需要的是在登录页面没有任何重定向不使用会话的HTTP POST请求后显示错误消息。只需将错误变量放入登录模型即可。

1 个答案:

答案 0 :(得分:1)

您应该在登录页面中执行与/j_spring_security_checkj_username的{​​{1}}的AJAX通话。

您必须编写自定义AuthenticationFailureHandler并将其插入UsernamePasswordAuthenticationFilter。setAuthenticationFailureHandler方法。以及自定义AuthenticationSuccessHandlerUsernamePasswordAuthenticationFilter。setAuthenticationSuccessHandler方法。

您的自定义AuthenticationSuccessHandler应返回true。您的自定义AuthenticationFailureHandler应返回false,您的Login Page AJAX回调应检查这些值并采取适当的登录操作。