Wykonanie akcji jednocześnie na kilku kartach przeglądarki

0

Cześć.
Mam na stronie mechanizm autowylogowania - coś jak w banku. Aktywność jest sprawdzana po wpisaniu danych w input albo zmienia czegoś na stronie - po każdej akcji aktualizuje się sesja.
Co 5 sekund sprawdzam kiedy była ostatnia aktywność. Jeśli czas od ostatniej aktywności przekroczy 2 min pojawia się komunikat na stronie i następuje automatyczne wylogowaniu. Rozwiązanie działa bezawaryjnie na jednej karcie przeglądarki jednak jeśli strona otwarta jest na kilku kartach nie zawsze następuje wylogowaniu lub następuje tylko na części stron.
Jakie rozwiązanie najlepiej zastosować aby działało to uniwersalnie niezależnie od tego ile mamy otwartych kart?
Technologia php/js

0

a jakiego zachowania oczekujesz? Możesz użyć BroadcastChannel żeby wysłać komunikat o wylogowaniu do wszystkich otwartych kart w tej samej przeglądarce, możesz utrzymywać połączenie z serwerem i po wylogowaniu zakończyć sesję we wszystkich kartach
Ale tak naprawdę to jaki tego cel? Wystarczy pewnie przekierować na stronę logowania gdy user będzie chciał coś zrobić i dostanie 401 od serwera

0

Jak dla mnie nie jest to zrozumiałe. Przecież jeśli masz 10 kart do tej samej rzeczy - i wyloguje się z 1 - to musi wylogować się z wszystkich na raz, bo konto jest wylogowane. Tam będzie widoczna nadal sesja, ale po odświeżeniu lub zmianie strony, nie może być nadal zalogowane na zdrowy rozum. Bo przecież by oznaczało to autologowanie - nie może mieć każda zakładana innej sesji na jednym i tym samym koncie. Przynajmniej ja się nigdy z czymś takim nie spotkałem - jeśli są konta użytkownika.

1 użytkowników online, w tym zalogowanych: 0, gości: 1