Ich weiß, dass dies schon gefragt wurde, aber ich bin nicht in der Lage, es zur Arbeit zu bekommen. Folgendes möchte ich erreichen:Spring Security 3.2 Token Authentifizierung
Ich verwende Spring Security 3.2, um einen REST-ähnlichen Dienst zu sichern. Keine serverseitigen Sitzungen. Ich benutze keine Basic Auth, da dies bedeuten würde, dass ich das Passwort des Benutzers in einem Cookie auf der Client-Seite speichern muss. Andernfalls müsste sich der Benutzer bei jeder Aktualisierung/Änderung der Seite anmelden. Ein Token zu speichern ist das kleinere Übel.
- Ein Web-Client (Browser, mobile app) ruft eine REST-ähnliche URL anmelden "/ login" mit Benutzername und Passwort
- Der Server der Benutzer authentifiziert und sendet ein Token an den Client zurück
- der Client speichert das Token und fügt sie die hTTP-Request-Header mit jedem aPI-Aufruf
- der Server überprüft die Gültigkeit des Tokens und sendet eine Antwort entsprechend
ich an dem Token-Erzeugungs-Teil noch nicht einmal aussehen . Ich weiß, dass es rückwärts ist, aber ich wollte den Token-Validierungsteil zuerst implementieren lassen.
Ich versuche, dies mit einem benutzerdefinierten Filer (Implementierung von AbstractAuthenticationProcessingFilter) erreicht, aber ich habe anscheinend die falsche Vorstellung davon.
es wie folgt definieren:
public TokenAuthenticationFilter() {
super("/");
}
nur die Filter für diese genaue URL auslösen. Ich halte an einer Beispielimplementierung fest, in der AbstractAuthenticationProcessingFilter # requiresAuthentication aufgerufen wird, die keine Platzhalter akzeptiert. Ich kann natürlich dieses Verhalten ändern, aber das bringt mich irgendwie dazu zu denken, dass ich auf dem falschen Weg bin.
Ich begann auch, einen benutzerdefinierten AuthenticationProvider zu implementieren. Vielleicht ist das das Richtige? Kann mir jemand in die richtige Richtung gehen?
Ich versuche genau das gleiche zu tun .. ist es dir gelungen mit der Federsicherheit? Können Sie bitte Ihre Lösung beschreiben? – fvisticot
Haben Sie eine Lösung gefunden? – sinu