![]() |
![]() ![]() |
![]() |
![]()
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? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
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? |
|
|
![]()
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
|
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 23:02 |