Невозможно получить CakePHP Cookbook Простой пример ACL - PullRequest
0 голосов
/ 28 октября 2011

У меня проблемы с работой ACL с CakePHP.Я работал с примером CakePHP Cookbook 2.0 Простое приложение, контролируемое Acl , и дважды прошел все этапы, но оба раза сталкивался с одной и той же проблемой.

Кажется, все настроено правильно.

  • Я могу создавать свои группы и пользователей.
  • Появляется таблица aros чтобы в Интернете были показаны те же строки, что и в примере.
  • Таблицы acos и aros_acos , по-видимому, заполняются значениями, напоминающими статью.
  • И когда я захожу на страницу, защищенную настройкой, мне предоставляется страница входа в систему.

Но когда я вхожу в систему, используя созданную мной учетную запись, я вижу следующую ошибку:

Warning (512): DbAcl::check() - 
Failed ARO/ACO node lookup in permissions check.  Node     references:
Aro: Array
(
[User] => Array
    (
        [id] => 1
        [username] => dc
        [email] => myemail@somedomain.com
        [group_id] => 1
        [created] => 2011-10-27 14:58:59
        [modified] => 2011-10-27 14:58:59
    )
)  
Aco: /Posts/add [CORE/Cake/Controller/Component/AclComponent.php, line 303]

Эта учетная запись настроена как администратор, и группе администраторов предоставлен доступ ко всему ... поэтому, если она работает, у меня не должно быть проблем ... но похоже, что естьпроблема более низкого уровня, которая мешает мне.Я могу также опубликовать свои таблицы БД, если это будет полезно, но решил, что я начну здесь.Спасибо за любую информацию, которую вы можете предоставить.

Ответы [ 2 ]

1 голос
/ 28 октября 2011

Документация была обновлена ​​для решения этой проблемы. Если вы добавите это в метод beforeFilter в AppController, это решит проблему.

$this->Auth->authorize = array(
    AuthComponent::ALL => array('actionPath' => 'controllers'),
    'Actions',
);
0 голосов
/ 20 июля 2013

Добавить $this->Auth->allow('initDB'); в beforeFilter ()

...