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
Auteur
Réponse acceptée

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
Auteur

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