CakePhp ACL检查在应用程序中失败,但在cake控制台中失败

CakePhp ACL检查在应用程序中失败,但在cake控制台中失败,cakephp,acl,Cakephp,Acl,我正在构建一个需要使用ACL的应用程序。我正在尝试检查我的一个控制器中某个操作的权限。这是我的蛋糕控制台代码,它可以工作: ./cake acl check Group.83 controllers all Group.83 is allowed. 但是,在我的控制器中,当我使用此代码时,应返回true: $checkPerm=$this->Acl->check('Group.83','controllers','all') 我得到这个错误: Warning (512): DbAcl::che

我正在构建一个需要使用ACL的应用程序。我正在尝试检查我的一个控制器中某个操作的权限。这是我的蛋糕控制台代码,它可以工作:

./cake acl check Group.83 controllers all
Group.83 is allowed.
但是,在我的控制器中,当我使用此代码时,应返回true:

$checkPerm=$this->Acl->check('Group.83','controllers','all')

我得到这个错误:

Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check.  Node references:
Aro: Group.83
Aco: controllers [CORE/cake/libs/controller/components/acl.php, line 273]

我知道我的ACL设置正确,否则cake控制台命令将失败。我想是我的控制器出了问题,但我不确定是什么导致了这个错误。有什么想法吗?

shell使用点语法,因为数组或正斜杠不起作用。然后,shell提取并使组件可读,组件使用数组语法。将支票更改为:

$checkPerm = $this->Acl->check(array(
  'model' => 'Group',
  'foreign_key' => 83
), 'controllers', 'all');

这就应该解决了

是的,我刚刚意识到这一点。非常感谢。