【问题标题】:Unable to Get CakePHP Cookbook Simple ACL Example Working无法使 CakePHP Cookbook 简单 ACL 示例正常工作
【发布时间】:2011-10-27 20:03:25
【问题描述】:

我在让 ACL 与 CakePHP 一起工作时遇到问题。我一直在使用 CakePHP Cookbook 2.0 示例Simple Acl controlled Application,并且已经完成了两次步骤,但两次都遇到了同样的问题。

一切似乎都设置正确。

  • 我可以创建我的组和用户。
  • aros 表的行似乎与网络示例中所示的行相同。
  • acosaros_acos 表似乎填充了与文章相似的值。
  • 当我访问设置为受保护的页面时,我会看到登录页面。

但是当我使用我创建的帐户登录时,我看到以下错误:

Warning (512): DbAcl::check() - 
Failed ARO/ACO node lookup in permissions check.  Node     references:
Aro: Array
(
[User] => Array
    (
        [id] => 1
        [username] => dc
        [email] => myemail@somedomain.com
        [group_id] => 1
        [created] => 2011-10-27 14:58:59
        [modified] => 2011-10-27 14:58:59
    )
)  
Aco: /Posts/add [CORE/Cake/Controller/Component/AclComponent.php, line 303]

该帐户被设置为管理员,并且管理员组已被授予访问所有内容的权限......所以如果它有效,我应该没有问题......但似乎有一个较低级别的问题妨碍我。如果有帮助的话,我也可以发布我的数据库表,但我想我会从这里开始。感谢您提供的任何见解。

【问题讨论】:

标签: php cakephp acl


【解决方案1】:

已更新文档以解决此问题。如果你在 AppController 的 beforeFilter 方法中添加它,它可以解决问题。

$this->Auth->authorize = array(
    AuthComponent::ALL => array('actionPath' => 'controllers'),
    'Actions',
);

【讨论】:

    【解决方案2】:

    在 beforeFilter() 中添加$this->Auth->allow('initDB');

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多