Я использую фреймворк zend, на моем сайте у меня есть два типа пользователей, гость и зарегистрированный пользователь, у меня есть контроллер. книги, там у меня 3 действия. добавлять, редактировать и удалять,
в моем zend acl я даю разрешения контроллеру книг только зарегистрированному пользователю, в моей навигации ссылка на книги не отображается для гостя, вместо этого я хочу показать все 3 подссылки для зарегистрированного пользователя и только добавить дополнительную ссылку для гостя
нравится
зарегистрированному пользователю
книги
добавлять
редактировать
Удалить
и гостю
книги
- add
проблема в том, что когда я устанавливаю разрешения в acl, ссылка на книги полностью не отображается для гостя,
эта часть моего ACL
$this->addResource(new Zend_Acl_Resource('books'));
$this->addResource(new Zend_Acl_Resource('login'));
$this->addResource(new Zend_Acl_Resource('logout'));
$this->addRole(new Zend_Acl_Role('guest'));
$this->addRole(new Zend_Acl_Role('user'), 'guest');
$this->allow('guest', 'login');
$this->allow('user','logout');
$this->allow('user','books');
$this->deny('guest', 'logout');
$this->deny('user', 'login');
есть ли способ установить разрешение на уровень действия или мне нужен плагин. Я так много часов пытался найти решение, но не мог. помогите пожалуйста ............... спасибо :(
ОБНОВИТЬ .
не запутайтесь по имени, это не zend Acl.php по умолчанию. это нестандартный остается в папке моих моделей
часть моего navigation.xml
<configdata>
<nav>
<books>
<label>Books</label>
<controller>books</controller>
<action>index</action>
<resource>books</resource>
<pages>
<add>
<label>Add</label>
<controller>books</controller>
<action>add</action>
</add>
<edit>
<label>Edit</label>
<controller>books</controller>
<action>edit</action>
</edit>
<delete>
<label>Delete</label>
<controller>books</controller>
<action>delete</action>
</delete>
</pages>
</books>
</nav>
</configdata>