CakePHP 2.0.x: ACL: несколько групп? - PullRequest
5 голосов
/ 15 декабря 2011

Я знаю, что этот вопрос задавался ранее, но я не знаю, задавался ли он специально о CakePHP 2.0.x.Мне не удалось найти какую-либо информацию о том, возможно ли включение пользователей в несколько групп, теперь с помощью компонента ACL.Я никогда не использовал компонент ACL с CakePHP 1.3.x, потому что это меня смутило.Однако, если сейчас лучше, я бы хотел использовать его, чтобы не изобретать колесо, катая свое.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 21 марта 2013

Я не проверял и не использовал это раньше, но я могу представить один способ:

Имейте модель User и Group, и User HATBM Group, как отмечает Шаз Амджад.

В тот момент, когда вы выполняете контроль доступа, получите список всех групп, к которым принадлежит пользователь (возможно, с помощью bindModel) ..

Тогда что-то вроде:

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

Если $permits содержит хотя бы один true, они должны быть разрешены.

Возможно, есть лучший или более автоматизированный способ сделать это, но я не вижу, что это не должно работать в принципе.

...