Spring security spring安全拦截错误的密码

Spring security spring安全拦截错误的密码,spring-security,Spring Security,我正在使用spring security。我正在使用aspectj记录错误的用户名或密码。通过检查loadUserByUsername是否存在异常,我能够截获错误的用户名。如何拦截错误的密码 看起来Spring获得了用户对象,并根据用户密码检查输入的密码。我如何拦截任何异常 提前感谢您通常使用ExceptionTranslationFilter和FilterSecurityInterceptor来处理所有身份验证失败。如果这并不能满足您的需要,您可能需要查看页面并对您的问题进行澄清。我对方面不太

我正在使用spring security。我正在使用aspectj记录错误的用户名或密码。通过检查loadUserByUsername是否存在异常,我能够截获错误的用户名。如何拦截错误的密码

看起来Spring获得了用户对象,并根据用户密码检查输入的密码。我如何拦截任何异常


提前感谢您通常使用ExceptionTranslationFilter和FilterSecurityInterceptor来处理所有身份验证失败。如果这并不能满足您的需要,您可能需要查看页面并对您的问题进行澄清。

我对方面不太了解,所以这可能没有帮助

首先,你需要问问自己,你真的需要区分错误的用户名和错误的密码吗?特别是当这些信息返回给用户时

默认情况下,spring security不鼓励这样做,这就是为什么默认情况下,它在任何一种情况下都返回
BadCredentialsException

Spring security
3.0.x
提供了一种
public
authenticate()
方法(在
AbstractUserDetailsAuthenticationProvider
类中),该方法首先在
受保护的
检索用户
()方法,然后在受保护的方法中执行密码验证


通过将属性
hideUserNotFoundException
设置为
false
(默认情况下为
true
),可以检查
authenticate()
方法的
UserNotFoundException
(如果用户错误)和
BadCredentialsException
,以防密码错误。

您能帮我提供一些代码示例吗。为了编织一个方面,我需要提供一些需要检查的方法。作为spring security的新手,不确定要扩展哪个类以及检查密码是否不正确的方法。