![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 9 Dołączył: 3.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
tak się zastanawiam czy i jeśli tak to w jaki sposób robicie w Symfony możliwość edycji z poziomu panelu administracyjnego serwisu www ustalania praw dostępu danych grup do określonych akcji
przychodzą mi do głowy 2 opcję: 1. generowanie pliku security.yml 2. wrzucenie do pliku security.yml kodów PHP opierających się na danych zgromadzonych gdzieś indziej jedno gorsze od drugiego szczególnie że trzebaby wyczyścić cache symfony po każdej edycji tych ustawień drugie rozwiązanie nie jest zbyt eleganckie, pierwsze natomiast, cóż generowanie plików konfiguracyjnych, że tak to ujmę "nie widzi mi się" w jaki sposób rozwiązujecie tą kwestię? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
dane mozesz trzymac w bazie
tabela z kolumniami: controller, action, access, iduser, idgroup do tego odpowiednie zapytanie. a juz w samym symfony to mozesz zrobic klase class customActions extends sfActions i w jej konstruktorze sprawdzac prawa dostepu i wykonywac odpowiednia akcje. jeszcze tak nie probowalem bo nie mialem potrzeby. mam tak zrobione w kohanie i fajnie dziala. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 149 Pomógł: 12 Dołączył: 3.03.2008 Skąd: łódzkie Ostrzeżenie: (0%) ![]() ![]() |
a juz w samym symfony to mozesz zrobic klase class customActions extends sfActions i w jej konstruktorze sprawdzac prawa dostepu i wykonywac odpowiednia akcje. jeszcze tak nie probowalem bo nie mialem potrzeby. mam tak zrobione w kohanie i fajnie dziala. Znaczy, że jak masz? Normalnie klasa actions.class.php rozszerza klasę sfActions, a Ty między te klasy wpisałeś swoją klasę customActions, która dziedziczy po sfActions i doimplementowywuje tylko sprawdzanie uprawnień każdego requesta? Robi to w konstruktorze, a więc na poczotku zanim w ogóle jakiekolwiek akcje zostaną wywołane. Następnie każdą actions.class.php w każdym module aplikacji dziedziczysz po customActions?? I mówisz, że tak samo zrobiłeś w Kohanie?? Ja tak opisałem, bo chcę się upewnić czy dobrze rozumiem oraz zapytać czy takie podejście do implementacji złożonej autoryzacji z podziałem na grupy i role jest ok. -------------------- "Jeden człowiek nie zmieni świata, ale jeden człowiek może przekazać informację która zmieni świat." - David Icke
| PAMIĘTAJ, JESTEŚ POLAKIEM !!! | Jam jest Polska, Ojczyzna Twoja, ziemia Ojców, z której wzrosłeś. Wszystko, czym jesteś, po Bogu - mnie zawdzięczasz!! |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Można też zbudować uprawnienia dla usera w filtrze. Ja tak dopisuję credentiale z bazy do już istniejących.
Prosty generator crendentiali dla każdego modułu i każdej akcji (np. operacje CRUD), który wypełnia bazę. Następnie, w filtrze wyciągam uprawnienia z owej tabeli i dodaję do tablicy uprawnień akcji, potem request leci dalej. Przykład. (wymaga pewnie poprawek) Budujemy uprawenienia (zawiera nawet tworzenie grup uprawnień) actions.class.php
Modyfikujemy filtr
Wady: Każdemu userowi dodajemy uprawnienia, a to trwa niekiedy długo i może być skomplikowane Zalety: Pełen ACL z automatu ![]() Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Chyba wolałbym edytor ymla i podmiana na orginale i w cache od razu. (Edytor jakiś jest w pluginach z tego co pamiętam a jak nie to pisanie powinno zając minimum czasu)
Dla duzej liczy userów nadawanie uprawnień będzie bardzo uciążliwe -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
przewaznie ustawia sie uprawnienia grupom do ktorych przypisujemy userow. ale jak jakis user ma miec specjalne uprawnienia to system rowniez musi pozwalac na ustawienie mu specjalnych uprawnien.
wiec w tabeli trzymasz idgroup, iduser. 0 - wszystkie grupy, wszyscy userzy. jarek_bolo: w kohanie i symfony wyglada to podobnie main_controller -> my_controller -> action controller -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
tak się zastanawiam czy i jeśli tak to w jaki sposób robicie w Symfony możliwość edycji z poziomu panelu administracyjnego serwisu www ustalania praw dostępu danych grup do określonych akcji przychodzą mi do głowy 2 opcję: 1. generowanie pliku security.yml 2. wrzucenie do pliku security.yml kodów PHP opierających się na danych zgromadzonych gdzieś indziej jedno gorsze od drugiego szczególnie że trzebaby wyczyścić cache symfony po każdej edycji tych ustawień w jaki sposób rozwiązujecie tą kwestię? Spróbuj tego pluginu sfGuardPlugin - nigdy nie korzystałem, ale plugin jest popularny i zbiera niezłe recenzje. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:40 |