以Spring Security我喜欢这里描述的DaoAuthenticationProvider
:春季安全userCache无效
http://static.springsource.org/spring-security/site/docs/2.0.x/reference/dao-provider.html
我也有缓存(也喜欢在那篇文章里定律描述)。
的问题是,当一个请求具有良好的用户名进来(即已经在缓存),但错误的密码 - 它返回缓存用户,如果它是一个很好的用户名/密码。因为它使用用户名作为密钥,所以根本不涉及密码。
从缓存中返回用户的确切代码:
UserDetails user = this.userCache.getUserFromCache(username);
有没有人曾经处理这个问题之前?我也可以检查密码是否相同,但这是一个自定义的事情。
谢谢。
是否每个请求都发送用户名和密码?如果是这样,我认为缓存没有意义。 – Raghuram 2011-01-06 07:46:50
如果您想保存DAO呼叫,这是有道理的。 – 2011-01-06 17:17:15