adbacz
27.08.2014, 08:49:00
Jak połączyć klasy systemu ACL (nawet bez dziedziczenia uprawnień), z danymi, które są przechowywane w bazie danych?
Mamy takie klasy ACL:
- ACL - Główny zarządca
- Role - Rola uprawnień, wg niej są pobierane i zapisywane uprawnienia do i z bazy
- RoleAllows - Klasa, której metody zwracają info o tym, czy user o danej roli ma dostęp do danego obiektu. Obiekt tej klasy zwracany jest przez metodę klasy ACL
- User - Użytkownik, który posiada daną rolę
No i teraz, wszystkie dane na temat tego, czy dana rola ma prawo czy nie ma prawa do danego obiektu są przechowywane w bazie danych. Jak teraz połączyć klasy ACL z bazą danych, by nie były połączone bezpośrednio, ale by to działało?
Cytat(adbacz @ 27.08.2014, 09:49:00 )

Jak teraz połączyć klasy ACL z bazą danych, by nie były połączone bezpośrednio, ale by to działało?
A co masz na myśli? Różnic między ACL z pliku, a ACL z bazy nie ma żadnych, poza tym że zapytania z bazy wrzucasz do cache.
adbacz
27.08.2014, 09:16:09
Problem jest w tym, że czytałem w różnych miejscach o ACL, przeglądałem tamtejszy kod, i nigdzie nie było pokazane skąd brane sa uprawnienia do roli, tylko wszędzie było pokazane, że przed pobraniem uprawnienia, jest kawałek kodu, który nadaje to uprawnienie. Nigdzie nie znalazłem przykładu, który pokazywałby, jak połączyć klasy ACL z dostępem do danych (fakt, bez względu na to czy to DB czy plik tekstowy).
Najczęściej ACL ładowany jest w bootstrapie, tam decydujesz z jakiego źródła ma pobierać dane. Później sprawdzasz to np. w kontrolerze lub przed wywołaniem czegokolwiek np. w dyspozytorze w zależności od tego co chcesz uzyskać.
Crozin
27.08.2014, 09:29:48
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.