enhancement
major
minor
major
minor
Die React-Oberfläche warnt nicht davor, dass die Sitzung demnächst abläuft. Der Benutzer wird ohne Vorankündigung abgemeldet und verliert dabei, was nicht gespeichert ist.
Das klassische UI hat dafür den LogoutTimerControl: Er sitzt über den NavigationDecorator fest in der Navigationsleiste, ist zunächst ausgeblendet und erscheint erst in den letzten Sekunden vor Ablauf (countingSeconds, Vorgabe 300). Ein Klick darauf verlängert die Sitzung; bei null wird aktiv abgemeldet.
Umsetzung
Mit #29499 gibt es den Hinweisbereich <notices> der App-Shell und das Control TLNoticeBar, das Schweregrad, Text und einen sekundengenauen Countdown gegen die Serverzeit darstellt. Der Session-Timeout ist der zweite vorgesehene Mieter dieses Bereichs und braucht keinen eigenen Anzeigemechanismus.
Zu bauen ist ein Element <session-timeout-notice/>, das den Bereich speist:
- Es zeigt sich erst, wenn weniger als eine konfigurierbare Restzeit bleibt, und zählt auf den Ablaufzeitpunkt herunter.
- Die Restzeit ergibt sich aus HttpSession.getMaxInactiveInterval() und dem letzten Zugriff und muss den Client erreichen.
- Es braucht eine Möglichkeit, die Sitzung zu verlängern — im klassischen UI der Klick auf den Zähler.
Zu entscheiden ist, ob bei null wie im klassischen UI aktiv abgemeldet wird. Falls ja, erreicht die Abmeldung den Client bereits über #29504.
Aufgeteilt von #29499, wo der Hinweisbereich bewusst allgemein gebaut wurde.