Benutzerdefinierte Fehlermeldung in Spring Security anzeigen
Wenn in Spring Security die Authentifizierung fehlschlägt, werden die folgenden vordefinierten Fehlermeldungen angezeigt:
Spring display : Bad credentials
In diesem Artikel zeigen wir Ihnen, wie Sie die obige Fehlermeldung überschreiben und Ihre benutzerdefinierte Fehlermeldung anzeigen. Zum Beispiel,
Spring display : Bad credentials You want override it with this message : Invalid username or password
Lösung
In Spring Security gespeicherte Nachrichten in „messages.properties“ in „spring-security-core.jar“, siehe Abbildung unten:
Um es zu überschreiben, suchen Sie, welcher Schlüssel welche Fehlermeldung in der Datei spring securitymessage.propertiesgeneriert, und definieren Sie sie mit Ihrer eigenen Eigenschaftendatei neu.
1. Schlüssel und Nachricht überschreiben
Erstellen Sie eine neue Eigenschaftendatei, fügen Sie sie in den Projektklassenpfad ein und überschreiben Sie den Spring-Schlüssel mit Ihrer benutzerdefinierten Fehlermeldung. In diesem Fall überschreiben Sie einfach „AbstractUserDetailsAuthenticationProvider.badCredentials
“.
Datei: mymessages.properties
AbstractUserDetailsAuthenticationProvider.badCredentials=Invalid username or password
2. Registrieren Sie ResourceBundleMessageSource
Um die obige Eigenschaftendatei zu laden, definieren SieResourceBundleMessageSource
in der Spring Bean-Konfigurationsdatei.
mymessages
Wenn die Authentifizierung fehlschlägt, wird anstelle der Standardeinstellung "Bad credentials" die benutzerdefinierte Fehlermeldung "Invalid username or password" angezeigt.
Note
Mit diesem Trick können Sie alle Spring Security-Nachrichten einfach überschreiben.
Quellcode herunterladen
Laden Sie es herunter -Spring-Security-Display-Custom-Error-Msg.zip (9 KB)