cakePHP:ACL如何允许插件中的操作?

cakePHP:ACL如何允许插件中的操作?,cakephp,acl,Cakephp,Acl,我有插件 plugin: tree -----controller: tree -------------action : admin_index DB表aros_acos已为此aco更新了CRUD 1。 我编码$this->Acl->checkarray'model'=>User','foreign_key'=>2,'Tree/Tree/admin_index' 错误: DbAcl::check() - Failed ARO/ACO node lookup in permiss

我有插件

  plugin: tree 
  -----controller: tree
  -------------action : admin_index
DB表aros_acos已为此aco更新了CRUD 1。 我编码$this->Acl->checkarray'model'=>User','foreign_key'=>2,'Tree/Tree/admin_index'

错误:

DbAcl::check() - Failed ARO/ACO node lookup in permissions check.  Node references:
Aro: Array
(
    [model] => User
    [foreign_key] => 2
)

Aco: Tree/Tree/admin_index [CORE\cake\libs\controller\components\acl.php, line 273]

所有其他操作都是有效的,但插件的操作,我找不到原因。任何人都可以帮助我。

我不明白为什么你要把树作为一个插件——它是一个核心行为

请从aros_acos表中发布适当的行

您传递到Acl->check的数组在我看来不正确。我传入$this->Auth->user的输出,如下所示:

Array
(
    [User] => Array
        (
            [id] => 12
            [username] => somebody
            [group_id] => 1
        )
)
看一看Mark Story的教程-它真的很棒:

CakePHP1.3中有一个变化。只有索引路由用于与插件名相同的控制器。所以,如果您使用1.3版本,您需要首先处理这个问题

检查控制台中的ARO和ACO树:cake acl view ACO,cake acl view ARO。尝试从控制台检查权限cake acl check YOURARO YOURACO all


cake acl view aco的控制台输出是什么?他使用了正确的语法-