Spring Security中如何设置账户在多次登录失败后自动锁定?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1875个文字,预计阅读时间需要8分钟。
原文链接:https://cloud.tencent.com/developer/article/1914275
需求:在现实开发过程中,我们经常会遇到这样一个需求:当用户多次登录失败时,账户被锁定。账户被锁定后,立即使用正确的用户名和密码也无法登录。
原文链接:cloud.tencent.com/developer/article/1914275
需求在实际的开发过程中,我们通常会有这样的一个需求:
- 当用户多次登录失败的时候,账户被锁定
- 账户被锁定之后,即使使用正确的用户名密码登录,也不可以(防止你的密码已经被盗)
- 被锁定的账户应该由管理员解锁,或者等待一定的时间周期之后才能再次进行登录操作。
知识回顾
- Spring Security 不需要我们自己实现登录验证逻辑,而是将用户、角色、权限信息以实现UserDetails和UserDetailsService接口的方式告知Spring Security。具体的登录验证逻辑Spring Security 会帮助我们实现。
- UserDetails接口实现中有一个方法叫做isAccountNonLocked()用于判断账号是否被锁定,也就是说我们应该通过该方法对应的set方法setAccountNonLocked(false)告知Spring Security该登录账户被锁定。
- 那么应该在哪里判断账号登录失败的次数并执行锁定机制呢?当然是自定义登录成功及失败结果处理的AuthenticationFailureHandler。
本文共计1875个文字,预计阅读时间需要8分钟。
原文链接:https://cloud.tencent.com/developer/article/1914275
需求:在现实开发过程中,我们经常会遇到这样一个需求:当用户多次登录失败时,账户被锁定。账户被锁定后,立即使用正确的用户名和密码也无法登录。
原文链接:cloud.tencent.com/developer/article/1914275
需求在实际的开发过程中,我们通常会有这样的一个需求:
- 当用户多次登录失败的时候,账户被锁定
- 账户被锁定之后,即使使用正确的用户名密码登录,也不可以(防止你的密码已经被盗)
- 被锁定的账户应该由管理员解锁,或者等待一定的时间周期之后才能再次进行登录操作。
知识回顾
- Spring Security 不需要我们自己实现登录验证逻辑,而是将用户、角色、权限信息以实现UserDetails和UserDetailsService接口的方式告知Spring Security。具体的登录验证逻辑Spring Security 会帮助我们实现。
- UserDetails接口实现中有一个方法叫做isAccountNonLocked()用于判断账号是否被锁定,也就是说我们应该通过该方法对应的set方法setAccountNonLocked(false)告知Spring Security该登录账户被锁定。
- 那么应该在哪里判断账号登录失败的次数并执行锁定机制呢?当然是自定义登录成功及失败结果处理的AuthenticationFailureHandler。

