Nawigacja Zend i RBAC

Opracowuję stronę opartą na ZF2. Mam główną nawigację, która pozostaje taka sama bez względu na status użytkownika / użytkownika. Musisz dodać kolejny komponent / nawigację, który będzie zależał od statusu i roli użytkownika. Dla gości przedmioty będą

ZarejestrowaćZaloguj SięPL (Właściwie lista rozwijana z innym dostępnym językiem)

Dla zalogowanego zwykłego użytkownika zostanie wyświetlony

ProfilWylogujEN (selektor języka jak wspomniano powyżej)

A dla niektórych użytkowników o określonych rolach / pozwoleniach pojawią się dodatkowe elementy

Chcę używać RBAC, ponieważ ACL wydaje się nadęty, a także po prostu sprawdzić, czy bieżący zalogowany użytkownik / rola ma dodatkowe elementy, muszę załadować całą ACL (i mamy około 15+ różnych rodzajów ról).

Spędziłem trochę czasu zastanawiając się, jak to osiągnąłem, więc następujące pomysły mam.

Tworzę pusty kontener nawigacyjny i tworzę fabrykę. W fabryce uzyskuję dostęp do uwierzytelniania i RBAC i dodaję strony w zależności od statusu / roli użytkownika.Tworzę w pełni załadowaną nawigację ze wszystkimi możliwymi stronami, a następnie w fabryce, z pomocą uwierzytelniania i RBAC. Ukrywam strony, których nie chcę pokazywać.Opcja rd polega na użyciu pomocnika widoku, który otrzyma RBAC przez ServiceLayer i wygeneruje nawigację. (Jak omówiono wZF2, jak wyświetlać tweety w układzie iZF2: Dodaj widżet logowania do szablonu.Albo mogę utworzyć wtyczkę kontrolera lub po prostu metodę w module.php i odsłuchać zdarzenie MVC_Render lub MVC_Dispatch i wygenerować żądaną nawigację oraz dodać wyjście do zmiennej widoku.

PS: Muszę użyć częściowej, ponieważ muszę dodać trochę klasy CSS do sekcji wyboru języka. Również nawigacja zostanie wyświetlona w układzie.

questionAnswers(1)

yourAnswerToTheQuestion