【问题标题】:CakePhp ACL check fails in app but not in the cake consoleCakePhp ACL 检查在应用程序中失败,但在蛋糕控制台中失败
【发布时间】:2012-05-31 04:02:14
【问题描述】:

我正在构建一个需要使用 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 控制台命令会失败。我认为它在我的控制器中,但我不确定是什么导致了这个错误。有什么想法吗?

【问题讨论】:

    标签: cakephp acl


    【解决方案1】:

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

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

    这应该解决它!

    【讨论】:

    • 是的,刚刚意识到这一点。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多