Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> ACL i przechowywanie obiektu
ikssde
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

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


Ostatnio zmagam się z kontrolą uprawnień i przyszedł czas na przechowywanie owego obiektu, długo szukałem i intensywnie myślałem, ale w dalszym ciągu nie mogę dojść do jakiegoś sensowego rozwiązania, zaprezentuje kilka moich przemyśleń, jednocześnie mam nadzieje, że podzielicie się ze mną swoimi wdrożeniami systemu ACL.

1. Pobieranie zserializowanego obiektu z bazy danych przy każdym żądaniu, a następnie odserializowanie go,
2. Pobieranie zserializowanego obiektu z bazy danych i przechowanie odserializowanego w sesji,
3. Generowanie obiektu z danych pobranych z bazy danych (role, przywileje, zasoby) i przechowywanie go w sesji,
4. Generowanie obiektu z danych pobranych z bazy danych (role, przywileje, zasoby) przy każdym żądaniu,
5. Pobieranie z bazy danych uprawnień dla wywołanego zasobu (sprawdzamy czy zalogowany użytkownik ma dostęp do zasobu który wywołuje), czyli w zasadzie nie tworzymy żadnego obiektu, a tylko pobieramy dane z bazy przy każdym wywołaniu (pojawia się problem drzewka zasobów, czyli może być kilka zapytań do bazy danych, a nie tylko jedno),

6. Generowanie obiektu z danych pobranych z bazy danych (role, przywileje, zasoby) i przechowywanie go w cachu (nie za bardzo wiem jak miałoby to wyglądać).

W tym wszystkim najbardziej zastanawia mnie to czy baza danych poradzi sobie z taką ilością zapytań (przy dużym ruchu), oraz czy sesja jest w stanie pomieścić takie dane i czy jest to w ogóle bezpieczne. Jakie rozwiązanie zastosowaliście u siebie?
Go to the top of the page
+Quote Post
zend
post
Post #2





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Zainteresuj się Zend Acl, jeśli nie zakładasz możliwości zmiany uprawnień w trakcje trwania sesji uzytkownika zalogowanego to najlepiej będzie gdy uprawnienia pobierzesz w momencie logowania i zapiszesz je do sesji
Zend Auth - to też może się przydać

Ten post edytował zend 29.03.2010, 14:39:05
Go to the top of the page
+Quote Post
ikssde
post
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

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


Korzystam z Zend'owskich rozwiązań i tu nie widzę problemu, mam jedynie wątpliwości co do przechowywania obiektu.

Przy jakim ruchu stosowałeś takie rozwiązanie i jak dużo zajmowały dane sesji?
Go to the top of the page
+Quote Post
zend
post
Post #4





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Przedwczesna optymalizacja to duży błąd, o to ile to zajmnie miejsca na dysku możesz się zacząć martwić gdy postawisz to na komputerze z 5MB dyskiem (IMG:style_emoticons/default/smile.gif) przy normalnych serwerach nie masz się o co martwić . Zserializowany bardzo duży obiekt może zajmować do kilku kb (IMG:style_emoticons/default/smile.gif) Natomiast odwoływanie się do bazy i pytanie o przywilej za każdym razem jest znacznie wolniejszym rozwiązaniem
Go to the top of the page
+Quote Post
ikssde
post
Post #5





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

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


Dzięki za pomoc, tak też mi się wydawało, że sesja będzie najlepszym wyjściem (IMG:style_emoticons/default/smile.gif)

Jeśli ktoś ma jeszcze jakieś inne, ciekawsze, czy też optymalniejsze rozwiązania to bardzo proszę o podzielenie się nimi z nami.
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: 15.09.2025 - 23:02