Clientseitige Sitzungen

Ich möchte, dass die Clients mehrerer verwandter Webanwendungen ihren eigenen Authentifizierungsstatus beibehalten. Dies verbessert die Skalierbarkeit, da keine Sitzungsreplikation zwischen Clusterknoten erforderlich ist. Und es erleichtert die Integration verschiedener Servertechnologien wie Java Servlets und PHP.

Mein Plan ist wie folgt:

Legen Sie nach der Clientauthentifizierung ein signiertes und verschlüsseltes Cookie mit dem Benutzernamen und der Ablaufzeit der Sitzung fest.Wenn der Client eine Anforderung sendet, entschlüsselt und validiert der Server das Cookie und gewährt oder verweigert den Zugriff abhängig von den Cookie-Werten.Der Ablauf der Sitzung wird durch Zurücksetzen des Cookies aktualisiert.

Alle Server, die die Sitzung verwenden möchten, müssen nur den Cookie-Mechanismus und den Entschlüsselungsschlüssel kennen. Siehe auch:Sitzungsstatus in der Client-Schicht

Ist dieser Ansatz in Ordnung? Wäre es möglich, es in einen Servlet-Container / Anwendungsserver zu integrieren, so dass es für die Anwendungen transparent ist? Ein Servlet sollte beispielsweise HttpServletRequest # getRemoteUser () verwenden können. Ist das möglich? Oder brauche ich etwas über dem Containerniveau wie Spring Security? Gibt es Bibliotheken für die clientseitige Sitzungsverwaltung?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage