0

我正在尝试根据 2.0 书中的教程设置 ACL,但是当我运行时我得到了 HTML 脚本

./Console/cake AclExtras.AclExtras aco_sync

在这里发帖真的很长。在我的 bootstrap.php 文件中,我有

CakePlugin::load('AclExtras');

在我的 AppController 我有

App::uses('Controller', 'Controller');

我也尝试在不输入插件的情况下查看会发生什么,以及当我执行以下操作时:

$this->Acl->allow($group, 'controllers');

我收到此错误:

Warning (512): DbAcl::allow() - Invalid node [CORE\Cake\Model\Permission.php, line 176]

关于如何使这项工作的任何建议?

提前致谢

4

1 回答 1

0
  1. 确保您的 ACO 表填充了至少一个条目“控制器”,没有 parent_id。
  2. 确保 allow 的第一个参数是一个有效参数,在您的情况下,$group应该是一个 Group 对象,并使用正确的组 ID 设置。例如

    $group = $this->User->Group;
    $group->id = 1;
    

(如果你只设置$group为一个整数,你肯定会得到你得到的错误,所以一定要检查这个!)

  1. 确保第二个参数是有效参数(例如有效别名)。
于 2012-09-27T14:41:32.420 回答