Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak połączyć ACL z danymi w Bazie Danych?, Połączenie na poziomie klas
adbacz
post 27.08.2014, 08:49:00
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


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?
Go to the top of the page
+Quote Post
!*!
post 27.08.2014, 09:12:13
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


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.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
adbacz
post 27.08.2014, 09:16:09
Post #3





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


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).
Go to the top of the page
+Quote Post
!*!
post 27.08.2014, 09:19:37
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


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ć.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Crozin
post 27.08.2014, 09:29:48
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Rozwiązanie na wzór Symfony? http://symfony.com/doc/current/cookbook/se...design-concepts
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 13:15