Przedłużanie zalogowania w panelu admina |
Przedłużanie zalogowania w panelu admina |
11.12.2017, 09:58:50
Post
#1
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Mowa o stronie internetowej, pełniącej funkcję panelu admina. Ten panel ma różne działania, jak każdy panel. Np. dodawanie newsów, tworzenie artykułów, dodawanie userów. I wyobraźmy sobie obsługę takiego panelu.
Ktoś dodaje artykuł. Dodał i dostał potwierdzenie, że artykuł został dodany. I teraz on chce dodać usera. Ale okazuje się, że już nie jest zalogowany i niestety musi się ponownie logować. Żeby temu zapobiec trzeba przechowywać informację w sesji, że trwa stan zalogowania. Czy wystarczy, że w sesji będzie przechowywana wartość logged=23, gdzie 23 to przykładowy id usera? I pytanie 2: jak rozwiązać to, że np. po 5 minutach ma nastąpić automatyczne wylogowanie usera. Żeby nie był zalogowany np. 2 miesiące. A może 5 min. od przeładowania strony? Z góry dziękuję |
|
|
11.12.2017, 19:43:20
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) |
Raz mówisz o przedłużeniu sesji (wygoda), a raz o jej skróceniu (bezpieczeństwo) - zdecyduj się.
-------------------- |
|
|
12.12.2017, 06:11:09
Post
#3
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Przełużanie zalogowania na kolejne submity to jest chyba oczywistość. Bo jak zatwierdzę, np. tu na forum ten post, to nie muszę się ponownie logować na forum a dalej jestem zalogowany.
Natomiast wydawało mi się, że jest coś na rzeczy, że stan zalogowania nie powinien trwać w nieskończoność w przypadku bezczynności usera. Czy raczej nie ma potrzeby zawracać sobie tym głowy? |
|
|
12.12.2017, 14:43:38
Post
#4
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) |
Wykorzystaj rozwiązania a'la konto bankowe. Poprzez ini_set zdefiniuj session.gc_maxlifetime na interesujący Cię czas trwania sesji. W panelu admina, np. w belce kontrolnej) umieść informację "pozostały czas sesji" oraz przycisk "odśwież". Korzystając z JS odmierzaj czas pozostały do końca sesji a pod przycisk "odśwież" podepnij XHR odwołujący się do serwera. Każde wejście na stronę Twojego panelu w trakcie jeszcze aktywnej sesji spowoduje "wyzerowanie" timera z aktywnością sesji.
|
|
|
12.12.2017, 15:04:03
Post
#5
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
@Puszy zerowanie tego session lifetime odbywa się przez
? |
|
|
12.12.2017, 17:52:42
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) |
Jakikolwiek request czy odświeżenie strony, wysłanie formularza POST czy właśnie request ajaxowy na dowolny adres (gdzie jest uruchomiona sesja - ta zwykle jest "globalnie" już wszędzie) powoduje owy reset.
Nawet nie trzeba cokolwiek wysyłać i zwracać. Ten post edytował markonix 12.12.2017, 17:52:49 -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 22:46 |