2012-08-16 30 views
9

gdzie pracuję jesteśmy projektowaniu webapp w którym użytkowników może należeć do wielu grupi każda grupa ma dostęp do szeregu środków nie znanych w zaawansowanych. Ponadto użytkownicy mogą wchodzić lub wychodzić z grup, a grupy mogą uzyskać lub stracić dostęp do zasobów, więc cały system przyznawania uprawnień musi być dynamiczny.uprawnienia Symfony2 Grupa ACL

Używamy Symfony2 i FOSUserBundle.

Podoba nam się, jak działa system ACL, ale nie mogliśmy znaleźć sposobu na zastosowanie go do obiektu grupy.

Czy ktoś zrobił coś takiego z Symfony? A może masz jakieś sugestie, jak zaimplementować to na inne sposoby?

Odpowiedz

6

Zgodnie z książką kucharską, możesz użyć RoleSecurityIdentity zamiast tylko UserSecurityIdentity. Więc z mojego rozumienia tego, twoją rolą jest twoja grupa. Pracuję teraz nad podobnym problemem. Kiedy zrobiłem trochę więcej z nim, spróbuję zaktualizować to za pomocą fragmentów kodu.

Ale teraz rzucić okiem na: http://symfony.com/doc/current/cookbook/security/acl_advanced.html

EDIT:

posunęliśmy się w innym kierunku, a zamiast tego będzie więcej z pozwoleniem na system działania kontrolera. Dlatego każdej akcji kontrolera przypisuje się nazwę uprawnienia za pomocą adnotacji.

#SomeDomain/SomeBundle/Controller/SomeController.php 
/** 
* @Permissions(perm="some.name.for.the.node") 
*/ 
public function indexAction(){ ... } 

Następnie mamy pakiet uprawnień z usługą, która sprawdza uprawnienia, gdy wywoływana jest funkcja kontrolera. Nasi administratorzy otrzymują GUI, który pozwoli im zarządzać uprawnieniami, które będą miały grupy i poszczególnymi użytkownikami.

Sprawdź tę istotę, która inspirowana co robimy: https://gist.github.com/1391850

Im świadomy tego existing system acl czego szukasz, ale po prostu myślałem, że aktualizuje się co robimy.

+0

Witaj! Dzięki za zainteresowanie :) Czekamy na fragmenty – mokagio

+0

Zaktualizowałem moją odpowiedź, przepraszam, może to nie jest to, czego szukasz. – Chausser