Я использую Zend Framework, на моем сайте у меня есть два типа пользователей: guest и loggeduser, у меня называется контроллер.книги, там у меня есть 3 действия.добавьте, отредактируйте и удалите,
в моем zend acl. Я даю разрешения контроллеру книг только зарегистрированному пользователю, в моей навигации ссылка на книги не отображается гостю, вместо этого я хочу показать все 3вложенные ссылки для зарегистрированного пользователя и, только добавьте дополнительную ссылку для гостя
как это
для зарегистрированного пользователя
books
добавить
изменить
удалить
идля гостя
проблема заключается в том, когда я устанавливаю разрешения в 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. это пользовательский, остается в папке с моими моделями
часть моей навигации.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>