Spring security Authentifizierung basiert auf request-parameter
Die Anwendung an der ich arbeite, hat bereits Spring Security zu handhaben Formular-basierte Authentifizierung. Jetzt ist die Anforderung zur Anmeldung eines Benutzers programmgesteuert über einen externen service wenn ein token ist gefunden in einem der request-Parameter.
In anderen Worten, wenn eine bestimmte request-parameter sagen, "token", existiert, die es braucht, um einen externen Dienstleister mit diesen token, um zu überprüfen, wenn Sie eine gültige token. Wenn es ist, dann wird der Benutzer eingeloggt.
Ich kann nicht herausfinden, wie und wo "trigger" oder "Haken bei" Spring Security, überprüfen Sie diese parameter und stellen Sie die überprüfung dann den Benutzer zu authentifizieren, wenn angemessen, da es keine login-Formular. Ich dachte, es sollte etwas sein, Spring Security, die erweitert werden können oder angepasst, um dies zu tun?
Sah ich durch Spring Security Dokumentation und Frage mich, ob AbstractPreAuthenticatedProcessingfilter ist die richtige Sache, um zu starten?
InformationsquelleAutor der Frage Bing Qiao | 2013-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe ein ähnliches setup in meiner Anwendung. Hier sind die grundlegenden Elemente so weit wie ich kann sagen:
Müssen Sie erstellen ein
AuthenticationProvider
etwa so:Müssen Sie auch erstellen Sie eine
Filter
zum einschalten der benutzerdefinierte parameter in ein Authentifizierungs-token:Müssen Sie erstellen Bohnen für diese:
Schließlich müssen Sie auf Draht diese Bohnen in Ihre Sicherheits-config (entsprechend anpassen):
Es könnte einen anderen Weg, aber dieser funktioniert definitiv (mit Spring Security 3.1 im moment).
InformationsquelleAutor der Antwort Dan
Wenn Sie Spring MVC-controller oder service, wo targe request-parameter übergeben wird, dann können Sie @PreAuthorize Spring security annotation.
Sagen, Sie haben einige Frühjahr-service, der check bestanden-und token-Authentifizierung durchgeführt, wenn die übergebene token gültig ist:
Dann, mit Spring security @annotation PreAuthorize können Sie dies tun, ist es weiter Weg:
Außerdem sollten Sie ermöglichen, Spring security Anmerkungen und hinzufügen von spring-security-Aspekte zu POM (oder jar zum classpath).
InformationsquelleAutor der Antwort nndru
Es ist ein blog mit detaillierten Lösung für die Implementierung von Benutzerdefinierten Token-basierte Sessionless Authentifizierung mit Spring Security, Hoffe, das hilft.
http://javattitude.com/2014/06/07/spring-security-custom-token-based-rest-authentication/
InformationsquelleAutor der Antwort Sanjay Singh