Spring Security: Login-Formular umgehen

8

Ich möchte das Anmeldeformular für eine Spring-Webflow-Anwendung (Spring 2.0.5) in bestimmten Szenarien umgehen (so dass das Anmeldeformular für normale Benutzer angezeigt wird, aber wenn die URL wie Ссылка , dann sollte dem Benutzer nicht das Anmeldeformular angezeigt werden, sondern nur intern anhand von Anfrageparametern authentifiziert und dann zur sicheren Seite weitergeleitet werden.

Ich möchte also keine Preauthenticastion, sondern eine transparente Authentifizierung bei besonderen Gelegenheiten (wenn die URL wie oben erwähnt ist). Ich habe Threads wie Ссылка gesehen, aber keine, wo eine Lösung erwähnt wird. Ich habe versucht, den AuthenticationProcessingFilter zu implementieren, aber ich bin mir nicht sicher, wie ich die Methode requiresAuthentication () implementieren soll.

Nachfolgend ist meine aktuelle Sicherheits-XML:

%Vor%

Folgendes ist meine Filterklasse:

%Vor%

Ich kann mich mit den angegebenen Anforderungs-Parametern authentifizieren und das Authentication-Objekt wurde erfolgreich erstellt. Sobald der Filter weiter läuft, bekomme ich die Ausnahme:

%Vor%

Können Sie mir helfen, warum ich diesen Fehler bekomme? Verwenden Sie den richtigen benutzerdefinierten Filtertyp? Schätzen Sie Ihre Hilfe.

    
dchucks 30.09.2010, 12:44
quelle

1 Antwort

6

Ich habe etwas ähnliches mit Spring Security 3 gemacht und ich denke, dass es auch mit älteren Versionen möglich sein sollte. Ich habe meinen Code geändert, damit er zu Ihrer Situation passt. Sie müssen vielleicht einige Details ausarbeiten, aber es sollte Ihnen die Grundidee liefern.

Sie können mit einem Filter umgehen:

%Vor%

In Ihrer web.xml:

%Vor%

In Ihrer spring.xml:

%Vor%

Eine weitere Möglichkeit wäre, allen Benutzern den Zugriff auf fakeLogin zu ermöglichen

%Vor%

und setzen Sie die Authentifizierung in den Sicherheitskontext in einer Web-Flow-Aktion.

    
martin 04.02.2011 12:18
quelle