Muszę unieważnić (lub kopnąć) sesję użytkownika. aplikacja ogranicza tylko logowanie użytkownika tylko jednego użytkownika na kontener.Invalidate spring security session
Próbuję wywołać metodę removeSessionInformation z rejestru sesji, co służy do odblokowania użytkownika. więc inny użytkownik może zalogować się przy użyciu nazwy użytkownika z uruchomioną sesją.
ale SessionContextHolder dla tego użytkownika, który został wyrzucony, nadal jest. więc nadal mają te same uprawnienia dostępu do chronionej strony.
jak unieważnić lub usunąć główny zasób SessionContextHolder z określonych informacji rejestru sesji?
ps: w mojej starej aplikacji podaję jedną zmienną w UserDomain (UserDetails), która przechowuje HttpSession. a kiedy trzeba wykopać użytkownika, po prostu unieważniam HttpSession z określonego UserDomain. ale nie wiem, jak to zrobić na wiosnę (jego bardziej przypomina usunięcie Principal SessionContextHolder niż HttpSession). wdrożenie jest prawie takie samo jak w przypadku SessionRegistryImpl na wiosnę.
Ta odpowiedź jest prawidłowa, należy również pamiętać o unieważnieniu sesji internetowej. –
cześć brian, myślę, że twoja odpowiedź tylko unieważnia (lub usuwa) 'SecurityContextHolder' bieżącej sesji użytkownika logującego. potrzebuję usunąć 'SecurityContextHolder' z innej sesji użytkownika. możemy to zrobić na sping? –
to nie jest dla innych użytkowników – z0mb1ek