我在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
答案 0 :(得分:0)
用户测试属于您的Aro表格中的Aro 14 。表Aro中的parent_id字段定义树。
// For eg. If i have two groups Administrator, User
Groups
id | name
11 | Administrator
22 | User
和 用户 //我有用户表
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设置中,cake的ACL组件无法找到 14 。 如果您想让自己的生活更轻松,可以尝试Acl Plugin。这确实简化了一些明显的任务。