Я потратил день на поиск руководств и ответов о том, как реализовать Zend_Acl здесь, в SO, как и на других сайтах. И у меня заболела голова. :ИКС
Я видел, как люди использовали его, чтобы разрешить или запретить доступ к определенным контроллерам / действиям, а другие говорили, что этот способ неверен и должен разрешать или запрещать доступ на основе моделей. Да, второе кажется возможным, однако это означает, что для каждого контроллера мне нужна модель? Потому что кажется, что, следуя второй альтернативе, я смогу заблокировать доступ пользователя только в тот момент, когда он, например, редактирует сообщение. Но я бы хотел предотвратить доступ к действиям контроллера, редактирующего сообщение.
Если я хочу заблокировать доступ пользователя с ролью X к действию Y контроллера Z, как я буду это делать, если буду следовать второй альтернативе?
Было бы очень приветствовать пример реального приложения.
Эта информация может улучшить ваши ответы: Я использую Doctrine 2 как ORM, и у меня есть модуль Admin. Фактическая структура моего приложения такова:
application
- MYAPP
- configs
- controllers
- layouts
- views
- library
- MYAPP ;This folder is in the include path
- modules
- admin