![]() |
![]() |
![]()
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? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 19:00 |