我之前已经问过这个问题,但我不知道是否有人特别询问过CakePHP 2.0.x.我现在无法通过ACL组件找到有关用户是否属于多个组的任何信息。我从未在CakePHP 1.3.x中使用ACL组件,因为它使我感到困惑。如果它现在变得更好,我想使用它,所以我不会通过自己的方式重新发明轮子。任何帮助将不胜感激。
答案 0 :(得分:0)
我之前没有测试或使用它,但我可以想象一种方式:
拥有User
模型和Group
模型,以及Shaz Amjad指出的User HATBM Group
。
在您正在进行访问控制时,请获取用户所属的所有组的列表(可能使用bindModel)..
然后,像:
$permits = array();
foreach ($thisUsersGroups as $group) {
$permits[] = $this->Acl->check($group, 'myclass', 'update')
}
如果$permits
至少包含一个true
,则应允许这些{{1}}。
可能有更好或更自动化的方法,但我不认为原则上不应该起作用。