CakePhp 3 | ACL - Get All Permissions by Groups

Par JC_Pires, il y a 11 ans


Voilà,je voudrais pouvoir modifier les permissions pour chaque groupe pour le moment, j'ai fouillé un peu dans cakephp/acl et je cherche la méthode pour récupérer les permissions, mais je ne trouve rien. Il y a bien allow(), deny() et inherit(), mais rien sur un getPermissions(). Donc pour récupérer les permissions je fais ça:

Le code ci dessous est un exemple:

voir post suivant.

Est-ce qu'il n'y aurais pas un moyen plus propre pour récupérer les permissions?

2 réponses

JC_Pires, il y a 11 ans

Bon j'ai revu tout ça ce qui donne:

$this->Permissions = TableRegistry::get('Permissions'); $Acos = $this->Acl->Aco ->find('children', ['for' => 1]) // Je selectionne 1 car app sera tjrs en clé 1 ->find('threaded'); foreach($Acos as $k => $aco){ $permissions[$k] = $this->Permissions->getAclLink($group, $aco['alias']); $permissions[$k]['alias'] = $aco['alias']; foreach($aco['children'] as $key => $action){ $permissions[$k]['Actions'][$key] = $this->Permissions->getAclLink($group, $action['alias']); $permissions[$k]['Actions'][$key]['alias'] = $action['alias']; } } debug($permissions); die();

Voilà ce que ça me ressort:

(int) 0 => [ 'aro' => (int) 2, 'aco' => (int) 62, 'link' => [ 'Permissions' => [] ], 'alias' => 'Attachments', 'Actions' => [ (int) 0 => [ 'aro' => (int) 2, 'aco' => (int) 3, 'link' => [ 'Permissions' => [] ], 'alias' => 'download' ] ] ], // ....... Voyons les permissions sur le model User on y vois un changement à la clé 6 des actions (int) 5 => [ 'aro' => (int) 2, 'aco' => (int) 72, 'link' => [ 'Permissions' => [] ], 'alias' => 'Users', 'Actions' => [ (int) 0 => [ 'aro' => (int) 2, 'aco' => (int) 110, 'link' => [ 'Permissions' => [] ], 'alias' => 'index' ], (int) 6 => [ 'aro' => (int) 2, 'aco' => (int) 120, 'link' => [ 'Permissions' => [ (int) 0 => [ 'id' => (int) 56, 'aro_id' => (int) 2, 'aco_id' => (int) 120, '_create' => '1', '_read' => '1', '_update' => '1', '_delete' => '1' ] ] ], 'alias' => 'delete' ], (int) 7 => [ 'alias' => 'premium' ] ] ],
JC_Pires, il y a 11 ans

Et bien pour le moment je ne peut pas vraiment faire de retour désolé.