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

  [Opened] Re: jAcl

Posted by abys on 01/25/2008 16:40

J ai bien compris comment creer un groupe, un utilisateur, des droits, mais je ne voit pas comment utiliser dans les modules toute la partie "right_values, right_values_group et les sujets" la commande jAcl::check renvoit que la partie dans jacl_right. dans l api c pas mentionné comme parametres

static boolean check (string $subject, string $value = true, string $resource = null)

static array getRight (string $subject, string $resource = null)

comment faire pour avoir une gestion des droit plus fine (grisé un bouton submit par ex...)

merci

  [Opened] Re: jAcl

Reply #1 Posted by laurentj on 01/25/2008 22:31

si tu veux griser ou pas un bouton, c'est en fonction d'un droit. Donc tu vas demander à jAcl, en appelant la méthode check() (comme c'est expliqué sur la page d'utilisation de l'api), si l'utilisateur courant a le droit requis.

Par exemple, sur une page quelconque, on veut vouloir afficher ou non un lien vers un formulaire de création d'un article. En admettant que dans ton système, les articles sont représentés par le sujet "cms.articles", et qu'il faut que le droit ait pour valeur "CREATE" pour autoriser la creation d'un article, tu fera alors dans ton template .

  {ifacl "cms.articles","CREATE"}
    <a href="{jurl 'cms~article:creation'}">Créer un article</a>
  {/ifacl}

Si lors de la configuration des droits, tu a utilisé la commande aclright pour dire que le groupe auquel appartient le user courant a le droit de créer un article, comme par exemple, en admettant que le numero de son groupe soit 1 :

  $ php jelix.php aclright add  1 "cms.articles" CREATE

alors le lien s'affichera.

Dans l'action article:creation, il est bien sûr recommander de tester là aussi le droit, tu fera donc un truc dans le genre

  if( ! jAcl::check('cms~articles', "CREATE")) {
     throw new Exception("Vous n'avez pas le droit de créer un article");
  }

C'est tout ce qu'il y a à faire.

  [Opened] Re: jAcl

Reply #2 Posted by abys on 01/26/2008 10:23

Ok, tout ceci fonctionne correctement, sauf que dans mon test je n'ai pas :

   jAcl::check('cms~articles', "CREATE")

mais

   jAcl::check('cms.articles', "CREATE") (avec le point)

 J ai fait un schema dbdesigner de Jacl avec les enregistrements de la doc.

Schema BD Ajcl

Donc si j ai bien compris les tables jacl_right_values, jacl_right_values_group ne servent pas

  [Opened] Re: jAcl

Reply #3 Posted by abys on 01/26/2008 16:28

super merci pour les infos

  [Opened] Re: jAcl

Reply #4 Posted by pr_bond on 03/23/2009 14:33

Kikou

Bon le sujet est un peux vieux : 17/02/2008

Le lien demo d'une interface xul ne fonctionne plus.

Je suis curieux de ce que ca donné ...

Peux être que c ailleurs maintenant ... ???

Sinon c pas grave

A peluche


Mon nom est Bond, James Bond !

  • Windows 7 Pro 64Bits
  • XAMPP 1.7.2
  • Apache 2.2.12
  • PHP 5.3.0
  • MySQL 5.1.37
  • Jelix 1.1.6
 
Page
  1. jAcl