![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 0 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Jako ze zaczalem uczyc sie OOP chcialbym sie dowiedziec, gdzie umiescic sprawdzanie czy user jest zalogowany ? Chodzi o to, ze chce informacje o tym czy jest zalogowany trzymac w sesji. I teraz jak zorganizowac klase logowanie ? Chcialbym przy kazdym przeladowaniu strony sprawdzic, czy istnijeje zmienna sesyjna np. 'userlogin' i na podstawie jej wartosci zalogowac go. Czy calosc operacji zrobic w klasie, czy np. gdzies w kodzie najpierw sprawdzic czy zmienna sesyjna istnieje i dopiero pozniej ewentualnie utworzyc klase Logowanie(), czy raczej przy kazdym wywolaniu strony tworzyc klase Logowanie a w środku niej sprawdzac czy user jest zalogowany ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Ja wydzieliłem osobny moduł autoryzacji, który jest napisany zgodnie z naturą mojego frameworka, czyli jako zwykły moduł aplikakcji.
Ma on jednak ściśle zdefiniowany interfejs i zwraca dane w formacie czytelnym dla frameworka. Sam framework posiada w konfiguracji możliwość zdefiniowania, jaki moduł i jaka akcja odpowiadają za autoryzację. Po rozwiązaniu żądania, na szczycie stosu zadań do wykonania jest umieszczana ta akcja i framework jak gdyby nigdy nic, zaczyna wykonywać stos akcji (wg FIFO). Pierwsze wykona się sprawdzenie uprawnień. Potem to już tylko wyobraźnia ogranicza działania. Można przekierować do innej akcji, 404, wyświetlić exception etc. Można też wykonać akcję zawartą w specjalnej sekcji o nazwie <onDeny>, która definiuje dla konketnego modułu lub jeszcze dokładniej - dla każdej akcji zachowanie przy stwierdzonym braku dostępu. Dlaczego tak to opisuję? Bo jeśli umieścimy autoryzację w kontrolerze strony, to kaplica - zostaje nam albo header(), albo ręczna obsługa z if else w kodzie, co mi się osobiście wydaje programistycznym średniowieczem. @sedziwoj - moim zdaniem tylko konfiguracja wchodzi w grę Pozdrawiam, |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 15:48 |