CakePhp ACL检查在应用程序中失败,但在蛋糕控制台中没有

时间:2012-05-24 14:38:49

标签: 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::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设置正确,否则蛋糕控制台命令会失败。我认为它在我的控制器中的东西,但我不确定是什么原因导致这个错误。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

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

这应该照顾它!