Cakephp ACO别名不';t与';控制器/控制器';价值

Cakephp ACO别名不';t与';控制器/控制器';价值,cakephp,cakephp-2.3,Cakephp,Cakephp 2.3,我不熟悉CakePHP中的ACL。我相信我的管理员组设置正确,可以完全访问“控制器”ACO。但是,当我尝试转到任何未明确公开的控制器或操作时,我会遇到一个错误 Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check. Node references: Aro: Array ( [User] => Array ( [id] => 9

我不熟悉CakePHP中的ACL。我相信我的管理员组设置正确,可以完全访问
“控制器”
ACO。但是,当我尝试转到任何未明确公开的控制器或操作时,我会遇到一个错误

Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check. Node references:
Aro: Array
(
    [User] => Array
        (
            [id] => 9
            [email] => Admin
            [group_id] => 3
            [is_active] => 1
            [created] => 2013-04-08 07:59:52
            [modified] => 2013-04-08 07:59:52
            [Group] => Array
                (
                    [id] => 3
                    [name] => Administrators
                    [user_count] => 2
                    [created] => 2013-04-08 06:34:58
                    [modified] => 2013-04-08 06:34:58
                )

        )

)

Aco: controllers/Users/index [CORE/Cake/Model/Permission.php, line 94]
在我的
acos
表中,有一个
'controllers/Users/index'
条目作为别名。此条目有一个引用
'controllers/Users'
的父id,而该父id又引用
'controllers'

在我的
“aros\u acos”
表中只有一个条目正在向管理员组授予完全权限

基于上面的错误,我做了一些挖掘,发现如果我直接尝试调用
$this->Acl->Aco->node('controllers/Users/index')
返回值为
false
。但是如果我在
$this->Acl->Aco->node('controllers')上执行相同的查询返回的值是正确的数组

有些东西显然不能正常工作,但我不知道哪里出了问题。我整天都在翻阅文档手册和API,没有找到任何理由说明为什么找不到
'controllers/Users/index'
,而找到了
'controllers'
。在这一点上,它似乎与
/
字符有关,但我不知道为什么。我在添加Aco时使用了相同的字符串,它保存正确


谢谢

我通过在以下位置安装ACL插件发现了问题:

运行这个伟大的实用程序后,我发现我在别名中错误地添加了带有填充路径的ACO。事实证明,别名只是操作或控制器名称,并根据父级id找到正确的路径

CakePHP文档中没有很好地记录这一点,但还有什么是新的

例如:

我添加了
'controllers/Users/index'
而不是
'index'


希望这能帮助其他人解决这个问题!我在上面浪费了一整天。

我通过在以下位置安装ACL插件发现了问题:

运行这个伟大的实用程序后,我发现我在别名中错误地添加了带有填充路径的ACO。事实证明,别名只是操作或控制器名称,并根据父级id找到正确的路径

CakePHP文档中没有很好地记录这一点,但还有什么是新的

例如:

我添加了
'controllers/Users/index'
而不是
'index'

希望这能帮助其他人解决这个问题!我在这上面浪费了一整天