我有一个使用Spring Security 3.0.3和OpenID作为其主要身份验证提供程序的应用程序。我很好奇为什么在我的UserDetails对象中永远不会调用“isAccoutNonLocked”方法?这仅仅是用于表单登录实现,还是我遗漏了什么?
如果有人可以在我可以创建的处理程序或过滤器上指向正确的方向来手动调用此方法,那将非常感激。
感谢。
答案 0 :(得分:0)
好吧,我想出了解决这个问题的方法;我围绕OpenIDAuthenticationProvider的“authenticate”方法创建了一个“around”建议,我正在检查UserDetails对象的isAccountNonLocked方法。如果该帐户被锁定,那么我抛出一个“LockedException”并使用我已扩展的自定义“SimpleUrlAuthenticationFailureHandler”捕获它。