我正在使用弹簧安全。我正在使用aspectj 记录错误的用户名或密码。我能够通过检查 loadUserByUsername 是否有异常来拦截错误的用户名。如何拦截错误的密码。
看起来 Spring 获取用户对象并根据用户密码检查输入的密码。我如何拦截此异常
提前致谢
我对方面不太了解,所以这可能没有帮助。
首先,您需要问自己,您是否真的需要区分错误的用户名和错误的密码 - 特别是如果此信息返回给用户。
默认情况下,spring-security 不鼓励这样做,这就是为什么默认情况下它BadCredentialsException在任何情况下都会返回 a 。
Spring security3.0.x提供了一个public authenticate()方法(在AbstractUserDetailsAuthenticationProvider类中),它首先在 () 方法中检索用户protected retrieveUser,然后在该protected additionalAuthenticationChecks()方法中进行密码验证。
通过将属性设置hideUserNotFoundExceptions为false(true默认情况下),authenticate()可以检查方法UserNotFoundException(如果用户错误)和BadCredentialsException密码错误。
| 归档时间: |
|
| 查看次数: |
3881 次 |
| 最近记录: |