Im Frühjahr Sicherheit, können wir die Ausnahme für schlechte Anmeldeinformationen erhalten, wenn der Benutzername/das Passwort nicht korrekt sind.Frühling Sicherheit schlechte Anmeldeinformationen unterscheiden zwischen ungültigen Benutzernamen oder Passwort
Von DOC: Spring Framework Authentication
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.springframework.security.core.AuthenticationException
org.springframework.security.authentication.BadCredentialsException
Gibt es eine Ausnahmeklasse oder Art und Weise zwischen Benutzername ungültig oder Passwort ungültig zu unterscheiden?
Etwas wie folgt aus:
catch(BadCredentialsException e) {
if(usernameInvalid) {
// invalid username
} else {
// password invalid
}
}
UPDATE:
public class SampleDaoAuthenticationProvider extends DaoAuthenticationProvider {
@Override
protected void additionalAuthenticationChecks(UserDetails
userDetails, UsernamePasswordAuthenticationToken authentication)
throws AuthenticationException {
setHideUserNotFoundExceptions(false);
super.additionalAuthenticationChecks(userDetails, authentication);
}
}
Ich würde stattdessen den Anruf zu setHideUserNotFoundException im Konstruktor tun. – JEY
Welcher Konstruktor? Ich kann hier nur leere Methoden sehen. Sie sagen, ich benutze den Konstruktor SampleDaoAuthenticationProvider, um es zu initialisieren. –
Eine öffentliche hinzufügen SampleDaoAuthenticationProvider() {super(); setHideUserNotFoundException (false);} – JEY