【问题标题】:Spring Security with OpenId Checkin for isAccountNonLockedSpring Security with OpenId Checkin for isAccountNonLocked
【发布时间】:2010-08-10 01:57:56
【问题描述】:
我有一个使用 Spring Security 3.0.3 和 OpenID 作为其主要身份验证提供程序的应用程序。我很好奇为什么在我的 UserDetails 对象中从未调用过“isAccoutNonLocked”方法?这仅用于表单登录实现,还是我遗漏了什么?
如果有人可以在我可以创建以手动调用此方法的处理程序或过滤器上为我指明正确的方向,我将不胜感激。
谢谢。
【问题讨论】:
标签:
spring
openid
spring-security
【解决方案1】:
好吧,我想出了解决这个问题的方法;我围绕 OpenIDAuthenticationProvider 的“authenticate”方法创建了一个“around”建议,并且正在检查 UserDetails 对象的 isAccountNonLocked 方法。如果帐户被锁定,那么我会抛出一个“LockedException”并使用我扩展的自定义“SimpleUrlAuthenticationFailureHandler”来捕获它。