如何使用 Spring Security 在 login.jsp 页面显示登录错误消息?

Posted

技术标签:

【中文标题】如何使用 Spring Security 在 login.jsp 页面显示登录错误消息?【英文标题】:How to display login error message at login.jsp page using Spring Security? 【发布时间】:2011-09-02 14:28:51 【问题描述】:

我正在使用 Spring Security。我想在login.jsp 上显示登录错误消息,例如登录失败或帐户被锁定。如何在登录页面上显示此类消息?

【问题讨论】:

@Jigar:是的,我正在使用弹簧安全性。在我的应用程序中,身份验证是通过 ldap 完成的。我想显示登录失败,来自 message.properties 文件的帐户锁定消息。为此我写下了AuthenticationFailureBadCredentialsEvent,所以在这种情况下我会增加数据库中的计数器。递增计数器后,我想从属性文件中读取错误消息并在登录页面上显示此消息。我怎样才能显示这样的消息? 【参考方案1】:

只需将authentication-failure-url 配置为Servlet 并从该servlet 设置一个属性,如

request.setAttribute("errorMessage",putYourMessageHere);

并将此请求转发到登录页面。

或提供

authentication-failure-urllogin.jsp?authValid=false

检查jsp上的参数

$param.authFailed

并有条件地打印消息

【讨论】:

以上是关于如何使用 Spring Security 在 login.jsp 页面显示登录错误消息?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring Security 在表单登录和 OAuth2 登录之间进行选择

单次注销在 keycloak 和 spring security 中不起作用

grails spring security core plugin - 使用用户名和电子邮件登录

Spring security:Spring security 如何在 SessionRegistry 中注册新会话?

Spring Security 之从数据库加载访问资源列表

如何在 Spring Security 中将令牌转换为身份验证?