настройка разного доступа для другого модуля - PullRequest
4 голосов
/ 17 апреля 2011

Я хочу установить разные права доступа для разных модулей.

Я попробовал

$this->allow($role, $module, $controller, $action);

или

$this->allow($role, $module . ':' . $controller, $action);

Но, похоже, это не работает.

Есть идеи ??

1 Ответ

3 голосов
/ 17 апреля 2011

Для правильной настройки acl необходимо определить роли , ресурсы и права доступа .

1009 * Е.Г. *

$this->addRole(new Zend_Acl_Role('guests'));

$this->add(new Zend_Acl_Resource('default'))
     ->add(new Zend_Acl_REsource('default:index'), 'default');

$this->allow('guests', 'default:index', array('index', 'error'));

Это модульная структура. Итак, сначала вы определяете роль. Затем вы определяете ресурс модуля, который используется по умолчанию. Index - это IndexController. И, наконец, вы устанавливаете действия, к которым пользователь типа guest должен иметь доступ как массив.

Вторая строка кода в вашем вопросе, кажется, в порядке, поэтому может быть проблема в другом месте. Проверьте некоторые ресурсы:

Документация: Zend_Acl

How To: Учебное пособие по Zend Framework 1.8 5 zend_acl с zend_auth и плагином контроллера

...