如何使用 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-url
为login.jsp?authValid=false
检查jsp上的参数
$param.authFailed
并有条件地打印消息
【讨论】:
以上是关于如何使用 Spring Security 在 login.jsp 页面显示登录错误消息?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Security 在表单登录和 OAuth2 登录之间进行选择
单次注销在 keycloak 和 spring security 中不起作用
grails spring security core plugin - 使用用户名和电子邮件登录