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

Dav*_*ave 2 database acl cakephp

按照CakePHP书上的说明创建ACL控制的站点,我添加了bindNode建议,使其成为" Group-Only ACL ":

//in users model
function bindNode($user) {
    return array('model' => 'Group', 'foreign_key' => $user['User']['group_id']);
}
Run Code Online (Sandbox Code Playgroud)

根据该页面,我的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 |
+----+-----------+-------+-------------+-------+------+------+
Run Code Online (Sandbox Code Playgroud)

一切都很好 - 我的组权限似乎正常工作......等等,但是当用户创建时,它们仍然被添加到aros表中.

是正常的吗?是否应添加用户,仅用于访问目的?我假设我的表看起来就像示例(只有组,没有用户),所以当我开始看到用户添加时,我很担心.

小智 7

在用户模型中添加以下行:

public $actsAs = array('Acl' => array('type' => 'requester', 'enabled' => false));
Run Code Online (Sandbox Code Playgroud)

参考:http: //cakephp.lighthouseapp.com/projects/42648/tickets/1485-bindnode-still-creating-user-model-aros