3 Stimmen

Auswirkung von SSO auf Sitzungszeitüberschreitungen

Ich muss SSO zwischen einer Windows-Domäne und einer J2EE-Webapplikation implementieren.

Ich habe darüber nachgedacht, welche Auswirkungen dies auf die Sitzungszeitüberschreitung der Webanwendung haben würde. Wir haben ein 2-Stunden-Timeout.

Wenn wir ein nahtloses SSO implementieren, könnte es für den Benutzer verwirrend werden.

Durch SSO wird der Eindruck erweckt, dass die Webanwendung sofort verfügbar ist.

Ich befürchte, dass sie mit dem Ausfüllen der Formulare beginnen, dann zu Mittag essen (oder so) und erst zurückkommen, wenn die Zeit für ihre Sitzung abgelaufen ist. Es könnte jedoch sein, dass dies nicht sofort bemerkt wird, da die SSO sie einfach wieder anmeldet (aber jetzt mit einer neuen Sitzung).

Hat jemand Erfahrung mit so etwas und wie man damit umgeht? Müssen wir nur eine Art von zusätzlicher Benachrichtigung implementieren, um dem Nutzer mitzuteilen, dass seine vorherige Sitzung abgelaufen ist und seine Arbeit verloren gegangen ist?

2voto

Dave Webb Punkte 184809

Ich denke, dass Sie auf jeden Fall eine Art Warnmeldung einblenden müssen, wenn die Sitzung des Benutzers zurückgesetzt wird. Bringen Sie sie dazu, bei der Meldung auf OK zu klicken, und leiten Sie sie auf die Startseite um.

Ich denke auch, dass eine 2-stündige Auszeit eine schlechte Idee ist, wenn Sie es so machen, wie ich glaube, dass Sie es machen. Meinen Sie damit, dass der Benutzer 2 Stunden Zeit hat, bevor seine Sitzung beendet ist, bevor er sich anmeldet? Wäre es nicht sinnvoller, eine Zeitüberschreitung von etwa 10 Minuten vorzusehen, wobei der Timer jedes Mal zurückgesetzt wird, wenn der Benutzer innerhalb der Sitzung eine neue Anfrage stellt?

0 Stimmen

Ich hätte mich klarer ausdrücken sollen - es handelt sich um ein 2-stündiges Inaktivitäts-Timeout.

0voto

LenW Punkte 2984

Die Zeitüberschreitung ist keine statische, feste Zeit, die ab der Anmeldung gemessen wird, sondern ein dynamisches Maß für die Inaktivität.

Auf Websites, die wir mit dieser Funktion eingerichtet haben, kehrt die Webseite nach etwa 10 Minuten zur Anmeldeseite zurück (JS wird verwendet), und der Benutzer kann erneut beginnen, wenn er möchte.

Wenn sie mit einem langen Prozess beschäftigt sind, bei dem sie Ergebnisse überprüfen oder ähnliches, dann überprüfen Sie die Mausbewegung oder eine andere Taste, die anzeigt, dass sie noch beschäftigt sind.

0voto

Jonathan Leete Punkte 1

Alte Frage, aber für den Fall, dass jemand darauf stößt:

Versuchen Sie wirklich, keinen Zustand in der Serversitzung zu speichern. Client, gut; Back-End-Server-Persistenz (wie eine Datenbank), gut. Nur nichts dazwischen, was verloren gehen könnte. Wenn der Benutzer nahtlos neu authentifiziert wird, bemerkt er den Wechsel nicht. Die Dauer der Zeitüberschreitung wird irrelevant.

Diese Antwort ist jetzt, sechs Jahre später, tatsächlich eher möglich, da es mehrere Front-End-Frameworks gibt, die Ihre Daten für Sie speichern. Sie können immer noch verwenden Frühlingssicherheit (sagen wir) auf dem Server, da die Authentifizierung mit der neuen Sitzung noch vorhanden ist; es sollte Ihre Sicherheitsinformationen (SecurityContext, UserDetails, usw.) im Handumdrehen neu generieren. Jede Anfrage, die Daten erhält oder sendet, sollte dann "einfach funktionieren".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X