Zend's Acl позволяет создавать ресурс только в контроллере
Но контроллеры могут быть на любом модуле, а не только на модуле по умолчанию. Итак, я прочитал какую-то статью в интернете, нашел одну и попробовал:
$acl -> addResource(new Zend_Acl_Resource("admin"));
$acl -> addResource(new Zend_Acl_Resource("admin:page"), "admin");
$acl -> addResource(new Zend_Acl_Resource("admin:posts"), "admin");
Но, тем не менее, когда я просматриваю соответствующие страницы, я получаю сообщения об ошибках: page
не найдено или posts
не найдено.
Как настроить ресурс ACL для конкретного модуля?
Обновление:
$acl -> addrole(new Zend_Acl_Role('guest'))
-> addrole(new Zend_Acl_ROle('admin'), 'admin');
$acl -> addResource(new Zend_Acl_Resource("page")); //controller with same name in admin module exists
$acl -> addResource(new Zend_Acl_Resource("admin"));
$acl -> addResource(new Zend_Acl_Resource("admin:page"), "admin");
$acl -> addResource(new Zend_Acl_Resource("admin:posts"), "admin");
$acl -> deny(null, null);
$acl -> allow('user', 'page', 'view');
$acl -> allow('admin', null);