Php ARO/ACO节点查找失败

Php ARO/ACO节点查找失败,php,cakephp,Php,Cakephp,在第8章“蛋糕控制面板”中的电子书“实用CakePHP项目”中,我遇到了一个奇怪的错误。一切都建立好了,数据库设置好了,完全是空白的,我正在运行本章末尾的测试,以验证一切正常。。。我不确定发生了什么,但我一直遇到以下错误: Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check. Node references: Aro: Array ( [User] => Array

在第8章“蛋糕控制面板”中的电子书“实用CakePHP项目”中,我遇到了一个奇怪的错误。一切都建立好了,数据库设置好了,完全是空白的,我正在运行本章末尾的测试,以验证一切正常。。。我不确定发生了什么,但我一直遇到以下错误:

Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check.  Node references:
Aro: Array
(
    [User] => Array
        (
            [id] => 2
            [username] => admin
            [group_id] => 1
            [created] => 2010-07-05 12:07:45
            [modified] => 2010-07-05 12:08:00                
        )

)
它似乎在告诉我,我的Aro中没有由id为“2”的模型“User”标识的节点。但看看我的Aros表,我可以清楚地看到最后一条记录如下:

id:4, parent_id:2, model:User, foreign_key:2, alias:User:2, lft:2, rght:3
下面的相对记录是我的用户表:

id:2, username:admin, password:hashed, group_id:1, created:date, modified:date
我哪里做错了?如果有人能给我指点方向,我将不胜感激


谢谢

在我看来,您要么在
acos
表中没有相应的记录,要么在
acos\u aros
中没有权限。如果是这种情况,您需要添加
$this->Auth->allow('*')beforeFilter()
中添加代码,然后添加ACO并允许其发送给管理员用户


我会建议你遵循官方的教程,因为书中的信息已经过时了。cakephp1.3可能无法使用。

在我看来,您要么在
acos
表中没有相应的记录,要么在
acos\u aros
中没有权限。如果是这种情况,您需要添加
$this->Auth->allow('*')beforeFilter()
中添加代码,然后添加ACO并允许其发送给管理员用户


我会建议你遵循官方的教程,因为书中的信息已经过时了。CakePHP 1.3可能无法使用。

如果您已将ACLExtras自动工具设置为同步ACOs,请在CakePHP控制台中执行以下命令:

./Console/cake AclExtras.AclExtras aco_sync

如果已将ACLExtras自动工具设置为同步ACOs,请在CakePHP控制台中执行以下命令:

./Console/cake AclExtras.AclExtras aco_sync

谢谢你的回复。实际上,我进入我的app_控制器,在Auth组件中的allowedActions数组中添加了“display”。现在,我没有收到那个错误,而是被重定向回我的主页。。。我不能100%确定原因,但我认为我的方向是正确的。如果你被重定向,那可能是因为你没有权限访问你请求的页面。谢谢你的回复。实际上,我进入我的app_控制器,在Auth组件中的allowedActions数组中添加了“display”。现在,我没有收到那个错误,而是被重定向回我的主页。。。我不能100%确定原因,但我认为我的方向是正确的。如果你被重定向,那可能是因为你没有访问你请求的页面的权限。