即使在bindNode之后,CakePHP中的Aros表仍然包括Users

问题描述

| 在遵循CakePHP手册上的说明创建ACL受控站点的同时,我添加了建议的“ 0”以使其成为“仅组ACL”:
//in users model
function bindNode($user) {
    return array(\'model\' => \'Group\',\'foreign_key\' => $user[\'User\'][\'group_id\']);
}
根据该页面,我的
aros
表格应如下所示:
+----+-----------+-------+-------------+-------+------+------+
| id | parent_id | model | foreign_key | alias | lft  | rght |
+----+-----------+-------+-------------+-------+------+------+
|  1 |      NULL | Group |           1 | NULL  |    1 |    2 |
|  2 |      NULL | Group |           2 | NULL  |    3 |    4 |
|  3 |      NULL | Group |           3 | NULL  |    5 |    6 |
+----+-----------+-------+-------------+-------+------+------+
一切都很好-我的群组权限似乎可以正常使用...等等,但是在创建用户时,他们仍会添加
aros
表中。 是正常的吗?是否应该添加用户,只是不用于访问目的?我以为表格看起来像示例(只有组,没有用户),所以当我开始看到添加用户时,我很担心。     

解决方法

        在用户模型中添加以下行:
public $actsAs = array(\'Acl\' => array(\'type\' => \'requester\',\'enabled\' => false));
参考: http://cakephp.lighthouseapp.com/projects/42648/tickets/1485-bindnode-still-creating-user-model-aros     ,        尝试更改为
function bindNode($user) {
    return array(\'Group\' => array(\'id\' => $user[\'User\'][\'group_id\']));
}
并删除
function parentNode