![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 24.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam dwa pytania natury projektowej. Zrobiłem sobie prostą klasę do obsługi logowania. Po zalogowaniu w sesji trzymam tylko id usera natomiast przy każdym odświeżeniu strony pobieram z bazy nazwę użytkownika (jedna sqlka) i uprawnienia do modułów (druga sqlka). I tu pytanie czy takie podejście jest dobre czy może lepiej po zalogowaniu wczytać do sesji przynajmniej nazwę użytkownika co wyeliminowało by jedno zapytanie? Jak u was w aplikacjach jest to rozwiązane ile rzeczy trzymacie w sesji czy tylko te najważniejsze czy używacie ją dość mocno jako "magazynek" ? Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 3.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Ja trzymam w sesji nazwę użytkownika i zmienną okreśającą poziom uprawnień. Nie wiem, czy jest to super fachowo, ale dział i jest dosyć proste do oprogramowania Pozdrawiam |
|
|
![]()
Post
#3
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Nie ma przeszkód, byś również inne dane usera trzymał sobie w sesji.
Natomiast uprawnienia odczytuj z bazy. Dlaczego? A np. dlatego, że jeśli ktos się zaloguje, a w międzyczasie admin zmieni mu uprawnienia dostępu do któregoś z modułów, on nadal będzie miał do niego dostęp, bo uprawnienia sprzed zmiany będą zapisane w sesji. -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#4
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Elegancko było by trzymać tylko ID użytkownika, a inne dane wyciągać z bazy w tych miejscach które są potrzebne, ale jak wiadomo programowanie to sztuka kompromisów i na poczet wydajności lepiej trzymać wszystko w sesji.
(...) Natomiast uprawnienia odczytuj z bazy. Dlaczego? A np. dlatego, że jeśli ktos się zaloguje, a w międzyczasie admin zmieni mu uprawnienia dostępu do któregoś z modułów, on nadal będzie miał do niego dostęp, bo uprawnienia sprzed zmiany będą zapisane w sesji. To się wyloguje i zaloguje jeszcze raz, wyobraź sobie że przykładowo na naszej klasie za każdym razem jest odpytywana baza o to czy użytkownik ma dostęp do danej podstrony. |
|
|
![]()
Post
#5
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
No właśnie - skoro za każdym razem jest ona odpytywana, po co trzymac uprawnienia w sesji ?
A co do wylogowania/zalogowania jeszcze raz: jeśli admin usunie komuś uprawnienia do czegoś, do czego ten ktoś chciałby mieć jeszcze chwilkę dostęp, na pewno nie strzeli sobie w stopę robiąc logout/login, tylko będzie korzystał, dopóki ma stare uprawniena w sesji. Chodzi mi o sytuację, gdy ma w tym korzyść. -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 0 Dołączył: 13.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Jak za każdym razem będziesz odpytywać bazę o takie rzeczy to zobaczysz jak to spowolni bazę... Wyobraź sobie że masz kilka tysięcy użytkowników danej strony i baza musi obsłużyć kilkadziesiąt tysięcy zapytań tych użytkowników... Czyżby strony ładowały się kilka sekund?
-------------------- "Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny "Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein "Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein "Nieprawda powtarzana wielokrotnie staje się prawdą" |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 23.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie - skoro za każdym razem jest ona odpytywana, po co trzymac uprawnienia w sesji ? A co do wylogowania/zalogowania jeszcze raz: jeśli admin usunie komuś uprawnienia do czegoś, do czego ten ktoś chciałby mieć jeszcze chwilkę dostęp, na pewno nie strzeli sobie w stopę robiąc logout/login, tylko będzie korzystał, dopóki ma stare uprawniena w sesji. Chodzi mi o sytuację, gdy ma w tym korzyść. To może kodzik, dzięki któremu admin będzie mógł zmienić u użytkownika, by po odświeżeniu strony go wylogowało? -------------------- Cytuję z naszej-klasy:
Cytat to masz problem ja chce dobic do 200 znajomych masz przyjac to holerne zaproszenie |
|
|
![]()
Post
#8
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
No co racja to racja z tymi zapytaniami. Ale w aplikacjach zamkniętych, z których korzysta w porywach kilkadziesiąt osób naraz nie widzę problemu.
Reasumując: każdy sposób jest dobry, jeśli spełnia oczekiwania twórcy i uzytkowników, działa zgodnie z oczekiwaniami i nie powoduje błędów. -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Z prawidłowego punktu widzenia w sesji powinieneś trzymać tylko ID użytkownika i bardzo prawdopodobne jest, że nie tworzysz aplikacji dla tysięcy użytkowników, więc nie odbije się to w żaden sposób na Twojej aplikacji.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.06.2025 - 13:12 |