Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pyatnie o czystą semantykę zasad działania aplikacji.., Obsługa sesji i użytkownika...
siemieng
post 9.11.2009, 12:37:38
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 7
Dołączył: 16.01.2007

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


Witam, tym razem chciałbym się poradzić w sprawie obsługi sesji oraz użytkownika. Na początku dodam, że nie chodzi tu o problem z działaniem, tylko o wybór w miarę logicznej, przejrzystej metody obsługi tych dwóch zagadnień. Może to lekkie przegięcie, że o to pytam, ale ostatnio pisząc coś skupiam się także na je nie za dużym poplątaniu i wymieszaniu wszystkiego...

Ja sesji używam od samego początku wejścia użytkownika na stronę, przechowując w niej ogólne dane użytkownika (przeglądarka, czas wejścia, obecny adres url oraz poprzedni adres url, identyfikator sesji, itd...). Do obsługi sesji jak i obsługi użytkownika posiadam osobne moduły (funkcje). Ustawienia zarówno sesji jak i użytkownika znajdują się w pliku .ini. I teraz szukam metody na oddzielenie danych sesji od danych użytkownika w obsłudze tych dwóch zagadnień. Mojego dziwnego problemu by nie było gdybym sesje używał tylko w przypadku zalogowanego użytkownika, obsługa sesji nie mieszała by się z obsługą użytkownika, ponieważ w momencie pojawienia się sesji, znaczy że użytkownik się zalogował i zaczyna się jej kontrola, ale tak nie mam....

Sprawa dotyczy ustawień sesji:
- aktywacja wygasania sesji - maksymalny czas trwania całej sesji oraz od ostatniej aktywności sesji (użytkownika);
- aktywacja regeneracji sesji - po określonym czasie oraz po określonej ilości żądań.

I teraz kłóci mi się obsługa tych parametrów ustawień w odniesieniu do danego modułu (sesja, użytkownik). Dla mnie logicznym jest, że te ustawienia dotyczą sesji, dlatego powinny być obsługiwane poprzez moduł obsługi sesji, ale nie ma sensu kontrolować czasu trwania sesji, czy regenerować jej id w przypadku gdy użytkownik nie jest zalogowany, bo to bez sensu. Natomiast umieszczenie ich obsługi w module użytkownika, gdzie mógłbym sprawdzić czy jest zalogowany i wtedy np. utworzyć zmienną $_SESSION['loginTime'] która by przechowywała czas zalogowania, i przy jej pomocy kontrolować czas sesji użytkownika, ale wtedy wszystkie ustawienia sesji przechodziły by pod obsługę modułu użytkownika, i to mi się kłóci. W drugą stronę, tzn. w module kontroli sesji sprawdzenie czasu trwania sesji wymagało by wcześniejszego sprawdzenia czy użytkownik jest zalogowany, np. $_SESSION['isLogged'] ale to mnie też kuje w oczy bo to dane użytkownika.

Wiem, że większości to o co pytam wyda się głupotą, może nawet nie będziecie wiedzieć tu tej małej niespójności, ale mam nadzieje, że niektórzy zrozumieją co mi po głowie lata:P Jak mogę sobie oddzielić obsługę sesji od użytkownika, czy to nie ma sensu?questionmark.gif? Podkreślam pytanie prawdopodobnie lekko abstrakcyjne....
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:43