2017-10-01 4 views
0

Hallo ich bin neu im Frühling und Frühling Sicherheit. zur Zeit arbeite ich an einer Ruhepi im Frühjahr. wie pro Frühling bieten Ruhe api. Ruhepi sind statuslos, so dass wir keine Sitzung erstellen können, um eine Pause zu machen. weil es ein Staatenloser ist, wenn wir es tun, dann ist es gegen den Restentwurf. so meine Frage ist, dass wir nie den Zustand des Benutzers in Server-Seite in Ruhe halten können?können wir es Client-Seite pflegen? Wie?? Im Frühjahr grundlegende Sicherheit haben wir uns eingeloggt und erhalten den aktuellen Benutzer mit dem Prinzip. Gleicher Fall in der Federauflageauthentifizierung. so in Fall der Ruhe api alles ist Bedarf ist derzeit Benutzer angemeldet? .wenn die Federauflage api zustandslos ist, dann wie Federsicherheit den aktuell angemeldeten Benutzer beibehält. Ich lese einen Block über Frühling, durch den wir tokenbasierte Authentifizierung verwenden, in der wir Benutzername und Passwort senden können, dann bekommen wir das Token und jedes Mal, wenn wir darum bitten, senden wir dieses Token und kennen den Benutzer, der die aktuelle Anfrage sendet. Das Token wird in einem Cookie gespeichert. Der Cookie wird also auf der Client-Seite gespeichert. In diesem Fall, wenn der Browser die Cookies deaktiviert Wie können wir Benutzer und aktuellen Benutzer, der sich angemeldet hat authentifizieren?Federstütze api und Feder Grundsicherheit

+1

In einem echten RESTful-Umgebung gibt es keine Log-in, müssen Sie nur die Anmeldeinformationen Benutzer und ein Kennwort in jede Anfrage über die 'Authorization'-Header. In Spring-Sicherheit können Sie zB eine 'basicAuth()' Direktive hinzufügen, die eine eingehende Anfrage auf die Verfügbarkeit dieses Headers prüft und auch dessen Wert mit 'Basic $ {base64enc (Benutzername: Passwort)}' übereinstimmt, wo der base64-Wert decodiert wird und teilen Sie die Credentials, um den Benutzer vom Benutzerdetaildienst zu suchen und fügen Sie ihn dem Sicherheitskontext hinzu, in dem Sie auf ihn zugreifen können –

+0

also ist Frühlingssicherheit alle Arbeit für Gebrauch in diesem Fall tun? –

+0

hängt von Ihren Bedürfnissen ab. Theoretisch kann es dazu führen, dass ich zumindest einen benutzerdefinierten UserDetailsService und einen AuthenticationProvider anbiete, wenn ich das eigentliche UserDetails-Objekt mit domänenspezifischen Eigenschaften und Einstellungen anreichere. –

Antwort

1

REST hat nichts mit Sicherheit zu tun, es geht nur um Datenmanipulation, nicht um Sicherheit.

Normalerweise liefern Sie also zusammen mit Ihrer REST-Anforderung eine Art von Identifikationsinformationen. Es kann eine Reihe von Anmeldeinformationen, ein Token, ein verschlüsseltes Token und was nicht. Zum Beispiel ist eines der Token-Formate ein JWT-Token. Aber theoretisch können Sie auch mit anderen Formaten arbeiten.

Federsicherheit unterstützt viele verschiedene Flüsse. Manchmal müssen Sie es hier und da erweitern und einige Funktionen anschließen. Aber im Großen und Ganzen ist die Federsicherheit sehr erweiterbar und erlaubt viele verschiedene Ebenen der Flexibilität, die entworfen wurde, um viele verschiedene Strömungen zu unterstützen.

Ich weiß, es ist eine Art theoretische Antwort, aber die Frage ist auch ziemlich theoretisch :)

+0

Bei REST geht es nicht um Datenmanipulation, sondern darum, Clients von Servern zu entkoppeln und somit die Robustheit der Architektur zu verbessern, indem gängige und allgemein akzeptierte Standards wie HTTP verwendet werden, die Ressourcenmanipulationsoperationen gemäß ihrer Protokolldefinition ausführen. –

Verwandte Themen