- Verschifft
- 7. August 2026 um 16:57 UTC
- Autor
- Kamo
- Ausschuss
- 67f9fcd
getSession() aktualisierte die Redis TTL bei jeder Lektüre und OTKPreAuthFilter löst die Sitzung, bevor ein Controller läuft - so dass jeder API-Aufruf erneuert die Sitzung. Frontends Umfrage auf Zeitfahrer, die nie aufhören (kamo-intern Rechte refresh allein feuert alle 5 Minuten, für immer), die die TTL fast voll gepinnt und machte Leerlauf Logoff unmöglich: ein Tab links über Nacht war noch eingezeichnet. Anrufer melden jetzt die Leerlaufzeit des Benutzers in X-Kamo-Idle-Ms, veröffentlicht pro Anfrage von SessionActivityFilter und über SessionActivityContext gelesen. Erneuerung wird in getSession() und in updateSession() eingegrenzt, das den Schlüssel umschreibt und erneuert sich also genauso effektiv wie ablaufen() - es setzt sich jetzt wieder ein verbleibende TTL statt der vollen, wenn der Anrufer im Leerlauf ist. Ein abwesender oder missgebildete Header erneuert sich immer noch, so dass jeder Kunde, der nicht sendet es behält das Verhalten, das es heute hat.