Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Probleme avec la fonction check de jAcl

Posted by isdream on 02/13/2007 11:59

J'essaye d'utiliser ACL depuis peu et j'ai rencontré un problème en utilisant la fonction jAcl::check("livre","READ");. Elle ne retourne aucun résultat :-(

En debuggant le fichier www\jelix-night\lib\jelix\acl\jAcl.class.php à la ligne 76 comme suit :

 $list = $dao->getAllGroupRights($subject, $groups);
 echo 'La variable $list contient :'.$list.'**Mon sujet est :'.$subject.'**Mes groupes sont :'.$groups.'**Précision sur groupe :'.$groups[0];

 foreach($list as $right){
  $values []= $right->value;
  echo "Je suis dans la boucle foreach";
 }

 echo "Je suis sorti de la boucle foreach";

Affichage :

La variable $list contient :Object id #17**Mon sujet est :livre**Mes groupes sont :Array**Précision sur groupe :2Je suis sorti de la boucle foreach

Donc je ne passe pas dans la boucle foreach je trouve cela bizarre.

Mes tables de la base de données sont bien remplit, si vous avez besoins du contenu de certaines d'entre elles je peux les poster.

isdream.

  [Opened] Re: Probleme avec la fonction check de jAcl

Reply #1 Posted by laurentj on 02/13/2007 14:48

regarde la requête générée par jDAo dans le fichier de cache de la dao , et essaie de faire la même chose dans phpmyadmin par exemple..

  [Opened] Re: Probleme avec la fonction check de jAcl

Reply #2 Posted by isdream on 02/13/2007 14:54

ok merci du conseil, je vais voir ça! Est t il normal que le champs "id_aclres" de la table "jacl_rights" reste vide quand j'utilise la fonction : jAclManager::addRight(2,"livre","READ");

En fait je ne sais même pas à quoi sert ce champs. Je ne l'ai pas vu dans la doc ou alors je n'ai pas compris. :-(

isdream.

  [Opened] Re: Probleme avec la fonction check de jAcl

Reply #3 Posted by isdream on 02/13/2007 15:55

D'ailleurs en supprimant la ligne du DAO "jaclrights.dao.xml" :

<isnull property="id_aclres" />

tout fonctionne bien. (enfin pour l'instant)

Je doute que ce soit la solution adéquate, car ce champs doit être utile.

Je suis toujours dans la phase de compréhension de ACL donc je vais peut être comprendre en l'utilisant. isdream.

  [Opened] Re: Probleme avec la fonction check de jAcl

Reply #4 Posted by isdream on 02/14/2007 16:15

J'arrives à faire fonctionner correctement le module ACL maintenant. Cependant je suis embèté à cause du soucis expliqué plus haut.

En effet, ce cas là marche bien :

 jAclManager::addRight(2,"livre","READ",1);

Ensuite,

 $acces=jAcl::check("livre","READ",1);

Résultat:

 $acces===1

Mais, celui là ne marche pas bien chez moi :

 jAclManager::addRight(2,"livre","READ");

En effet, j'ai débuggué la requete :

 $dao->getAllGroupRights

Et je l'ai directement injecté dans phpmyadmin. Résultat : aucune ligne n'est rendu.

Car le addRight a inséré un enregistrement contenant '' dans le champs id_aclres (et non NULL comme le veux la requete).

Ai je bien utilisé la fonction addRight avec aucune ressource? Je ne sais pas si j'ai été clair.

isdream.

Note : Cela n'a rien à voir mais j'ai remarqué que le champs 'id_aclres' fait partie de la clé primaire. Dans la théorie il me semble que l'on ne peut pas vraiment mettre ce champs à NULL.

Note2 : Ce framework est vraiment confortable à l'utilisation. Et mes tests qui visaient à savoir si ce framework pouvait techniquement et surtout fonctionnellement supporté mon application se révèlent positifs. De plus il me semble extrêmement rapide quand à l'exécution des pages (j'en saurait plus quand je l'aurait vraiment sollicité avec de gros modules) :-)

  [Opened] Re: Probleme avec la fonction check de jAcl

Reply #5 Posted by isdream on 02/15/2007 14:26

 Ah ! donc là effectivement y a un bug. Tu peux poster un ticket sur ce point sur dev.jelix.org ? Merci d'avance.

Le problème est que je ne sais pas ce que le champs de la base de données doit contenir pour que cela fonctionne avec <isnull property="id_aclres" />. J'ai essayé d'insérer NULL Null ou null dans le champs de la BDD mais sans succès :La requete avec id_aclres is null ne fonctionne pas.

Vu que je ne suis tombé sur aucun bug encore, celui ci est peut etre juste un probleme de manipulation de ma part. Voila.. isdream.

 
Page
  1. Probleme avec la fonction check de jAcl