在按照cakephp手册上的说明操作create an ACL controlled site时,我添加了建议将其设置为“Group-Only ACL”的bindNode
:
//in users model
function bindNode($user) {
return array('model' => 'Group', 'foreign_key' => $user['User']['group_id']);
}
根据that page,my
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
关于database - 即使在bindNode之后,CakePHP中的Aros表仍然包括Users,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6154285/