私はここのように説明しDaoAuthenticationProvider
を持っている:春のセキュリティuserCache無効
http://static.springsource.org/spring-security/site/docs/2.0.x/reference/dao-provider.html
私も(また、それはその記事で説明しているように)キャッシュを持っています。
問題は、(キャッシュに既に入っている)良いユーザー名が要求に含まれているが、パスワードが間違っていると、ユーザーが正しいユーザー名/パスワードであるかのようにキャッシュからユーザーを返します。ユーザー名をキーとして使用するため、パスワードはまったく関与しません。
キャッシュからユーザーを返します。正確なコード:
UserDetails user = this.userCache.getUserFromCache(username);
は、誰もがこれまでこの問題に対処しましたか?パスワードが同じかどうかを確認することもできますが、それはカスタムなことです。
ありがとうございます。
リクエストごとにユーザー名とパスワードが送信されますか?もしそうなら、キャッシュは意味をなさないと思います。 – Raghuram
DAO呼び出しを保存する場合は意味があります。 –