我正在使用 Spring Security 来支持我的应用程序中的身份验证和授权。我已经定制了安全上下文的一些方面,但我认为这在我的问题/问题中没有作用。
我目前正在使用Spring 3.1.2.RELEASE和Spring Security 3.1.3.RELEASE,但我即将更新到最新版本。
AbstractUserDetailsAuthenticationProvider$DefaultPreAuthenticationChecks()
我认为我刚刚发现的内部类存在一个错误,如下所述:
如果我尝试使用用户和错误(不正确)密码登录,但在我的用户存储库中找到该用户,并且他们被锁定、禁用或帐户已过期,则 Spring Security 会以LockedException
、DisabledException
或AccountExpiredException
.
但是,从这个响应中,我刚刚确定该用户存在于存储库中,即使我刚刚猜到了密码,还不知道它是对还是错!相反,Spring Security 应该主要使用 响应BadCredentialsException
,并且仅当凭据通过身份验证时才响应锁定、禁用或帐户过期异常。
有没有其他人看到/报告过这种行为?我已经搜索过,但在任何地方都看不到这个!
谢谢罗伯
编辑
我刚刚升级到Spring 3.2.1.RELEASE和Spring Security 3.2.0.M1,这种行为仍然保持不变。