CakePHP ACL выдает ошибку

Я установил это в своем AppController.php

    $this->Auth->authorize = array(
    'Actions' => array(
        'actionPath' => 'controllers/'
    )
);

Это в моей таблице Aco:

id  parent_id   model   foreign_key     alias   lft     rght
25  NULL             NULL   NULL    controllers     1   2

Это моя таблица Aro:

id  parent_id   model   foreign_key     alias   lft     rght
1   1           Group   1               NULL      27    30
15  14          User    1               NULL      28    29

Это моя таблица Aco_Aro:

id  aro_id  aco_id  _create     _read   _update     _delete
15    1       25      1             1     1            1

И я получаю эту ошибку:

    Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check.  Node references:
Aro: Array
(
    [User] => Array
        (
            [id] => 1
            [username] => Test
            [group_id] => 1
            [created] => 2012-03-24 22:47:33
            [modified] => 2012-03-24 22:47:33
        )

)

Aco: controllers/Posts/index

person user558117    schedule 25.03.2012    source источник


Ответы (1)


Пользователь Test принадлежит Aro 14, как показано в вашей таблице Aro. Поле parent_id в таблице Aro определяет дерево.

// For eg. If i have two groups Administrator, User
Groups
id | name
11 | Administrator
22 | User

And Users // У меня есть таблица пользователей как

id | name | group_id
 7 |  KK  |    11
 9 |  SS  |    22

Мой стол Aro был бы

ARO
id | parent_id | alias | foreign_key  
 1 |   null    |  adm  |   11            // Group
 2 |   null    |  usr  |   22            // Group
 3 |    1      |  kk   |   7            // User
 4 |    2      |  SS   |   9            // User

В настройках Aro / Acl компонент ACL cake не может найти 14. Если вы хотите облегчить себе жизнь, вы можете попробовать плагин Acl < / а>. Это действительно упрощает некоторые очевидные задачи.

person Kishor Kundan    schedule 25.03.2012