security: invalidate session immediately when member is removed from household #56
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Wenn ein Mitglied aus einem Haushalt entfernt wird, bleibt dessen aktive Session bis zum natürlichen Session-Timeout gültig. Das entfernte Mitglied hat in dieser Zeit noch vollen Zugang zur App.
Problem
DELETE /v1/households/mine/members/{userId}entfernt das Mitglied aus der DB, invalidiert aber nicht die laufende HTTP-Session des betroffenen Users.Lösung
Spring Security
SessionRegistry+SessionInformation.expireNow()verwenden, um die Session des entfernten Mitglieds sofort zu invalidieren:Voraussetzung:
SessionRegistrymuss in derSecurityFilterChainregistriert sein (sessionManagement().sessionRegistry(...)).Akzeptanzkriterien
DELETE /v1/households/mine/members/{userId}wird die aktive Session des entfernten Mitglieds sofort invalidiert401 Unauthorized401Kontext
Aufgedeckt in #48 (Sable — Security Review). Wurde bewusst aus dem Members-Ticket herausgezogen, um den Scope nicht zu sprengen.