Benutzerdefinierte Fehlermeldung in Spring Security anzeigen

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:

message.properties

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)