Я не проверял и не использовал это раньше, но я могу представить один способ:
Имейте модель User
и Group
, и User HATBM Group
, как отмечает Шаз Амджад.
В тот момент, когда вы выполняете контроль доступа, получите список всех групп, к которым принадлежит пользователь (возможно, с помощью bindModel) ..
Тогда что-то вроде:
$permits = array();
foreach ($thisUsersGroups as $group) {
$permits[] = $this->Acl->check($group, 'myclass', 'update')
}
Если $permits
содержит хотя бы один true
, они должны быть разрешены.
Возможно, есть лучший или более автоматизированный способ сделать это, но я не вижу, что это не должно работать в принципе.