Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-12-2010 08:22:13

metallicrider
Nouveau membre
Date d'inscription: 13-12-2010
Messages: 2

implementation ZEND_ACL

Bonjour a tous.
Je suis débutant a l'utilisation de ZENDFRAMEWORK 1.10, et je suis entrain de m'intéresser a la gestion des droits avec Zend_ACL.
J'ai compris son mécanisme, mais je ne sais pas ou ces paramètres doivent êtres définis. Je pense soit a les définir dans un contrôleur prévu a cet effet (ce qui me semble bizarre tous de même), ou dans ma classe bootstrap (ce qui me parait mieux). J'avoue que je suis un peut perdu. Il y a des tutoriels très explicitent sur le fonctionnement de cette classe, mais qui ne précise malheureusement pas ou implémenter les classes dans l'application.
Par exemple: j'ai compris comment créer des ressources pour différentes règles:

on modifie le registre des rôles

       $acl->addRole(new Zend_Acl_Role('marketing'), 'staff');


on créer les ressources pour les règles


       $acl->addResource(new Zend_Acl_Resource('newsletter'));

       // news
       $acl->addResource(new Zend_Acl_Resource('news'));

       // dernières news (latest herite de news)
       $acl->addResource(new Zend_Acl_Resource('latest'), 'news');


       // annonces (announcement hérite de news)
       $acl->addResource(new Zend_Acl_Resource('announcement'), 'news');


Ensuite ACL autorise ou non l'accès:

   
      // Le Marketing doit être capable de publier
   
      // et d'archiver les newsletters et les dernières news
   
      $acl->allow('marketing',
   
                  array('newsletter', 'latest'),
   
                  array('publish', 'archive'));     
   
      // Staff (et marketing, par héritage),
   
      // n'ont pas la permission de relire les dernières news
   
      $acl->deny('staff', 'latest', 'relire');
   
      // Personne (y compris les administrateurs)
 
      // n'a la permission d'archiver des annonces
 
      $acl->deny(null, 'annonce', 'archive');


Et on interroge les ACLs pour accéder ou non aux ressources:

   
      echo $acl->isAllowed('staff', 'newsletter', 'publish') ?
   
           "autorisé" : "refusé"; // refusé
   
       
   
      echo $acl->isAllowed('marketing', 'newsletter', 'publish') ?
   
           "autorisé" : "refusé"; // autorisé
   
       
   
      echo $acl->isAllowed('staff', 'latest', 'publish') ?
   
           "autorisé" : "refusé"; // refusé
   
       
 
      echo $acl->isAllowed('marketing', 'latest', 'publish') ?
 
           "autorisé" : "refusé"; // autorisé
 
       
 
      echo $acl->isAllowed('marketing', 'latest', 'archive') ?
 
           "autorisé" : "refusé"; // autorisé
 
       
 
      echo $acl->isAllowed('marketing', 'latest', 'revise') ?
 
           "autorisé" : "refusé"; // refusé
 
       
 
      echo $acl->isAllowed('editor', 'announcement', 'archive') ?
 
           "autorisé" : "refusé"; // refusé
 
       
 
      echo $acl->isAllowed('administrator', 'announcement', 'archive') ?
 
           "autorisé" : "refusé"; // refusé

Mais est ce un seul et même fichier.php?
est ce plusieurs fichiers différents, dans ce cas  ou les placer dans l'arborescence de mon appli?
merci par avance de vos conseils

Hors ligne

 

#2 15-12-2010 07:51:59

metallicrider
Nouveau membre
Date d'inscription: 13-12-2010
Messages: 2

Re: implementation ZEND_ACL

non il n'y a vraiment personne pour me venir en aide?

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages