【问题标题】:ACL in Cakephp 2.xx using custom tablesCakephp 2.xx 中的 ACL 使用自定义表
【发布时间】:2012-10-01 09:45:03
【问题描述】:

我为我的 CakePHP 应用程序设置了一个自定义身份验证系统。现在我们需要在其中包含一些 ACL。我遵循了here 的指示。现在由于某种原因,我需要使用表 admin_users 和 admin_user_roles 而不是通常的组和用户。我可以正常登录,但 ARO 搜索失败。它给了我以下错误。

Warning (512): AclNode::node() - Couldn't find Aro node identified by "Array
(
    [Aro0.model] => User
    [Aro0.foreign_key] => 4
)
" [CORE/Cake/Model/AclNode.php, line 176]
Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check.  Node          references:
    Aro: Array
    (
        [User] => Array
        (
            [id] => 4
            [admin_user_role_id] => 1
            [email] => mio@kalibrr.com
            [username] => mio
            [created] => 2012-09-28 08:03:25
            [modified] => 2012-10-01 02:09:42
         )

)

Aco: controllers/Dashboard/index [CORE/Cake/Controller/Component/AclComponent.php, line 303]

它似乎仍在用户模型中寻找它。有什么办法可以改变它,让它在 AdminUsers 表中查找它?

查看 DB 和 Model 字段都指向 AdminUser。

【问题讨论】:

    标签: cakephp acl


    【解决方案1】:

    解决了。

    添加到Appcontroller这一行

    'authorize' => array(
    'Actions' => array('userModel' => 'AdminUser','actionPath' => 'controllers')
    

    这里 AdminUser 是我的模型的名称。

    【讨论】:

      猜你喜欢
      • 2012-04-08
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-23
      • 2014-04-26
      相关资源
      最近更新 更多