2010-06-28 3 views
0

J'ai le pluginCakePHP: comment ACL permet une action dans le plugin?

plugin: tree 
    -----controller: tree 
    -------------action : admin_index 

DB Table aros_acos a mis à jour _CRUD 1 1 1 1 pour cette aco. Code I $ this-> Acl-> chèque (array ('modèle' => 'utilisateur', 'foreign_key' => 2), 'Arbre/Arbre/admin_index');

erreur:

DbAcl::check() - Failed ARO/ACO node lookup in permissions check. Node references: 
Aro: Array 
(
    [model] => User 
    [foreign_key] => 2 
) 

Aco: Tree/Tree/admin_index [CORE\cake\libs\controller\components\acl.php, line 273] 

Toute autre action est une autorisation valide, mais l'action des plug-ins, je ne peux pas trouver la raison. N'importe qui m'aide.

+0

Quelle est votre sortie de la console pour une vue 'gâteau acl aco'? – bancer

Répondre

0

Je ne comprends pas pourquoi vous avez arbre comme un plugin - c'est un comportement de base.

Veuillez publier les lignes appropriées à partir de la table aros_acos.

Le tableau que vous passez dans Acl->check ne regarde pas droit à moi. Je passe à la sortie de $ this-> Auth> utilisateur() qui ressemble à:

Array 
(
    [User] => Array 
     (
      [id] => 12 
      [username] => somebody 
      [group_id] => 1 
     ) 
) 

Jetez un coup d'oeil au tutoriel de Mark Story - il est vraiment excellent: http://mark-story.com/posts/view/auth-and-acl-an-end-to-end-tutorial-pt-1

+0

Il utilise la syntaxe correcte - http://book.cakephp.org/view/1249/Checking-Permissions-The-ACL-Component – bancer

0
  1. Il était un changement de Cakephp 1.3. Seule la voie index est supported pour le contrôleur qui est le même nom que plug-in. Donc, vous devrez gérer cela en premier si vous utilisez la version 1.3.

  2. Vérifiez l'arborescence ARO et ACO dans la console: cake acl view aco, cake acl view aro. Essayez de vérifier les autorisations de la console cake acl check YOURARO YOURACO all

Questions connexes