Mit Spring Security Ich habe ein DaoAuthenticationProvider
wie hier beschrieben:Spring Security userCache Ungültigkeits
http://static.springsource.org/spring-security/site/docs/2.0.x/reference/dao-provider.html
ich auch Caching haben (auch wie sie in diesem Artikel beschrieben wird).
Das Problem ist, wenn eine Anfrage kommt mit einem guten Benutzernamen (das ist bereits im Cache), aber ein schlechtes Passwort - es gibt den Benutzer aus dem Cache, als ob es ein guter Benutzername/Passwort ist. Da es den Benutzernamen als Schlüssel verwendet, ist das Passwort überhaupt nicht beteiligt.
Der genaue Code, der den Benutzer aus dem Cache zurückgibt:
UserDetails user = this.userCache.getUserFromCache(username);
Hat jemand jemals zuvor mit diesem Problem umgegangen? Ich kann auch überprüfen, ob das Passwort das gleiche ist, aber es wäre eine benutzerdefinierte Sache.
Vielen Dank.
Wird der Benutzername und das Passwort pro Anfrage gesendet? Wenn ja, ist Caching wahrscheinlich nicht sinnvoll. – Raghuram
Es macht Sinn, wenn Sie DAO-Aufrufe speichern möchten. –