Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][Symfony2] automatyczne wylogowywanie po bezczynności
dragon7
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.10.2010

Ostrzeżenie: (0%)
-----


Witam. Jak rozwiązać w Symfony2 automatyczne wylogowanie po np 10 minutach bezczynności lub zamknięciu strony?? Wiem, że można ustawić czas trwania sesji, ale to nie wchodzi w grę, ponieważ tuż przed wylogowaniem chcę wykonać skrypt. Jakieś pomysły??

Ten post edytował dragon7 23.08.2012, 22:40:53
Go to the top of the page
+Quote Post
HgReed
post
Post #2





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 13.11.2011

Ostrzeżenie: (0%)
-----


Pętla w JavaScript (sprawdzanie bezczynnośći) + on before unload. Na oba dajesz ajax'em request do strony i wtedy go wyloguj.
Go to the top of the page
+Quote Post
dragon7
post
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.10.2010

Ostrzeżenie: (0%)
-----


Czy to zadziała, jak ktoś zamknie stronę? Próbowałem zrobić z jQuery i $(window).unload(), tyle że to działa nawet przy klikaniu w hiperłącza. Czy istnieje takie zdarzenie, które by wykrywało wyłączenie całej strony (wszystkich zakładek)? Coś w stylu $(document).onunload() ?
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Nigdy nie ma 100% pewności, że jakiś proces wykona się do końca. Zawsze coś może przerwać pracę maszyny, np. zanik zasilania albo młotek wbity w procesor.

Utwórz skrypt, który co 10, 30 czy 60 sekund będzie sprawdzał w bazie danych czy są jakieś nowe wygasłe sesje. Jak jakąś znajdzie to będzie mógł odpalić cokolwiek tam potrzebujesz.
Go to the top of the page
+Quote Post
dragon7
post
Post #5





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.10.2010

Ostrzeżenie: (0%)
-----


No dobra już przechowuje sesje w bazie danych, skąd teraz wiedzieć, która jest wygasła? Czy ma to coś wspólnego z session_time?
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. Upewnij się, ze kod obsługujący sesje nie ma wbudowanego usuwania przestarzałych sesji. Dostępny "sterownik" dla sesji w Symfony posiada wbudowany odśmiecacz.
2. Napisz osobny skrypt działający cyklicznie, który będzie przetwarzał wygasłe sesje, czyli te, których czas ostatniej aktywności jest większy od czasu żywotności sesji.

PS. W przypadku ręcznego niszczenia sesji, np. przy ręcznym wylogowaniu, również powinieneś wykonać kod z punktu #2.
Go to the top of the page
+Quote Post
dragon7
post
Post #7





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.10.2010

Ostrzeżenie: (0%)
-----


Mam pewien problem. Jeśli ustawie session_lifetime na dowolną wartość, to po minięciu tego czasu, nawet gdy użytkownik jest aktywny (wchodzi w podstrony itd.) zostaje automatycznie wylogowany. Jak ustawię, że sesja ma trwać do zamknięcia przeglądarki, to jak mam sprawdzać w bazie danych, która sesja wygasła, skoro może trwać różną długość?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 22:08