Czytam o ACL i nie mogę uwierzyć.
Pytania:
1. Czy prawa do zasobów muszę sprawdzać w każdym kontrolerze/każdej akcji?
W ZEND 1 wrzucałem takie coś do preDispatch... (metoda wywołująca się przed wywołaniem każdego kontrolera/akcji) i tam sprawdzałem w 1 miejscu do jakich zasobów dany użytkownik ma dostęp i jakie ma prawa.
Tutaj w SF2 jest to pokazane jak poniżej, czyli przy każdej akcje trzeba sprawdzać role i dostęp do zasobów.
Powolutku się wdrażam i chciałbym się dowiedzieć jak te wywołania tak naprawdę działają w SF2.
public function editCommentAction(Comment $comment) { $securityContext = $this->get('security.context'); // check for edit access if (false === $securityContext->isGranted('EDIT', $comment)) { throw new AccessDeniedException(); } // ... retrieve actual comment object, and do your editing here }
źródło:http://symfony.com/doc/current/cookbook/security/acl.html