以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