按照CakePHP上的说明create an ACL controlled site,我添加了bindNode
建议,使其成为“Group-Only ACL”:
//in users model
function bindNode($user) {
return array('model' => 'Group', 'foreign_key' => $user['User']['group_id']);
}
根据that page,我的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
表中。
是正常的吗?是否应添加用户,仅用于访问目的?我假设我的表看起来就像示例(只有组,没有用户),所以当我开始看到用户添加时,我很担心。
答案 0 :(得分:7)
在用户模型中添加以下行:
public $actsAs = array('Acl' => array('type' => 'requester', 'enabled' => false));
参考: http://cakephp.lighthouseapp.com/projects/42648/tickets/1485-bindnode-still-creating-user-model-aros
答案 1 :(得分:1)
尝试更改为
function bindNode($user) {
return array('Group' => array('id' => $user['User']['group_id']));
}
并删除
function parentNode