CakePHP 2.0.x:ACL:多个组?

Nic*_*ick 5 acl cakephp cakephp-2.0

我知道之前已经问过这个问题,但我不知道是否有人特别询问过CakePHP 2.0.x. 我现在无法找到有关是否可以使用ACL组件让用户成为多个组的一部分的任何信息.我从未在CakePHP 1.3.x中使用ACL组件,因为它使我感到困惑.如果现在好了,我想使用它,所以我不会通过自己动手来重新发明轮子.任何帮助,将不胜感激.

Ada*_*all 0

我以前没有测试过它或像这样使用过它,但我可以想象一种方法:

正如沙兹·阿姆贾德 (Shaz Amjad) 所说,要有一个User模型和一个模型。GroupUser HATBM Group

在进行访问控制时,获取用户所属的所有组的列表(可能使用bindModel)。

然后,类似:

$permits = array();
foreach ($thisUsersGroups as $group) {
   $permits[] = $this->Acl->check($group, 'myclass', 'update')
}
Run Code Online (Sandbox Code Playgroud)

如果$permits至少包含一个true,则应允许它们。

很可能有更好或更自动的方法来做到这一点,但我不认为原则上不应该起作用。