/ / CakePHP 2.0.x: ACL: viac skupín? - cakephp, acl, cakephp-2.0

CakePHP 2.0.x: ACL: viac skupín? - cakephp, acl, cakephp-2.0

Viem, že táto otázka bola položená už skôr, ale janeviem, či to bolo konkrétne požiadané o CakePHP 2.0.x. S komponentom ACL som teraz nemohol nájsť žiadne informácie o tom, či sú používatelia súčasťou viacerých skupín. Teraz nie je možné používať komponent ACL s CakePHP 1.3.x, pretože ma to zmiatlo. Ak je to ale teraz by som ho rád používal, takže koleso nevymýšľam vlastným vyvalením. Akákoľvek pomoc by bola ocenená.

odpovede:

0 pre odpoveď č. 1

Predtým som to netestoval ani nepoužíval, ale dokážem si predstaviť jeden spôsob:

Mať User model a Group model, a User HATBM Group ako poznamenáva Shaz Amjad.

V okamihu, keď robíte kontrolu prístupu, načítajte zoznam všetkých skupín, do ktorých užívateľ patrí (pravdepodobne pomocou bindModel).

Potom niečo ako:

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

ak $permits obsahuje najmenej jednu true, mali by byť povolené.

Môže existovať lepší alebo automatickejší spôsob, ako to urobiť, ale v zásade nechápem, čo by to nemalo fungovať.