Spring Security: Umleitung zur Anmeldeseite, wenn die Authentifizierung fehlgeschlagen ist

8

Wir haben zwei Möglichkeiten, uns anzumelden.

    

  • Der Benutzername und das Passwort werden von einer anderen App in den Anforderungsheadern gesendet. IT wird untersucht und wenn der Benutzername und das Passwort korrekt sind, geht es hinein. [Ein benutzerdefinierter Filter ist dafür geschrieben]
  •      
  • Wenn der Benutzername und das Kennwort nicht in den Anforderungsheadern vorhanden sind, wird der Anmeldebildschirm angezeigt.
  • Wenn der Benutzername und das Kennwort im Anforderungsheader vorhanden sind und dieser falsch ist, wird eine Seite HTTP-Status 401 - Authentifizierung fehlgeschlagen: ungültige Anmeldeinformationen angezeigt.

    Wie kann ich die Anmeldeseite anzeigen, falls die Authentifizierung fehlgeschlagen ist?

    Unten ist der Code in der security.xml

    %Vor%

    Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.

    Bearbeiten: Hinzufügen des Codes für den RequestHeader-Filter in meiner Anwendung

    %Vor%

    }

        
    Vinoth Kumar C M 28.03.2011, 12:20
    quelle

    2 Antworten

    2

    Um die Login-Seite für den Fall anzuzeigen, dass die Authentifizierung fehlgeschlagen ist, sollten Sie dieselbe URL in <access-denied-handler error-page="/login.jsp"/> und <intercept-url pattern="/*Login*" access="hasRole('ROLE_ANONYMOUS')"/>

    haben

    zum Beispiel:

    %Vor%

    In diesem Beispiel wird der Benutzer nach dem Abmelden ebenfalls zur Anmeldeseite weitergeleitet. Die / procesarLogin ist eine Methode, die Benutzer lo login.jsp Seite gesendet hat.

        
    Daniela 30.03.2011 15:50
    quelle
    0

    Das Standardverhalten bei fehlgeschlagenen Authentifizierungen besteht darin, den HTTP-Status 401 anzuzeigen. Falls SimpleUrlAuthenticationFailureHandler zur Behandlung von Fehlern verwendet wird (wie von AbstractAuthenticationProcessingFilter ausgeführt, kann dieses Verhalten überschrieben werden, indem defaultFailureUrl auf /login.jsp gesetzt wird.

    Alternativ kann ein benutzerdefinierter Fehlerhandler mit einer geeigneten Aktion definiert werden.

        
    Raghuram 28.03.2011 12:57
    quelle