Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 07-07-2009 12:37:40

Kei
Membre
Date d'inscription: 07-07-2009
Messages: 21

[Zend_Acl][1.8] ACL et navigation()...

Bonjour tout le monde!
Je débute avec Zend framework et je bute sur un petit problème.
Apparemment il serait possible de modifié son menu en fonction des acls que l'on a définie. (En gros de pas faire apparaitre un élément du menu si l'utilisateur connecté est membre et non admin).
Alors pour faire menu, aucun soucis, c'est assez intuitif, et, d'aprés le tuto du site officiel, y integrer les acls aussi. Mais non...
Alors je pense que j'ai du oublier quelque chose... si quelqu'un peut me venir en aide svp !!
Voici mon code :

acl.ini :

Code:

[roles]  
   
guest = null  
member = null  
admin = null  
 
[ressources]  

; définition des ressources dans le module par défaut  
index = null  
album = null
auth  = null  
admin = null 
news  = null

[guest]  

allow.auth  = null
allow.index = null
allow.album = index,list
  
; member hérite de guest 
[member : guest]  
   
; on interdit le login (le membre est déjà identifié)  
deny.auth   = null 
allow.index = null
allow.news  = ajout
allow.album = ajout

; admin hérite de member  
[admin : member]  
   
allow.admin = null
allow.index = null
allow.news  = null
allow.album = null

navigation.xml :

Code:

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <nav>
        
               <label>Home</label>
               <controller>index</controller>
               <action>index</action>  
               <resource>index</resource>
               <pages>
                <album>
                       <label> Albums </label>    
                       <controller>album</controller>
                       <action>index</action>
                       <pages>
                        <list>
                            <label>Liste</label>
                            <controller>album</controller>
                            <action>list</action>
                            <resource>album</resource>
                        </list>
                        <ajout>
                            <label>Ajout</label>
                            <controller>album</controller>
                            <action>ajout</action>
                            <resource>album</resource>
                        </ajout>
                    </pages>            
                </album>
                   <news>
                       <label>News</label>
                    <controller>news</controller>
                    <action>index</action>
                    <resource>news</resource>
                </news>     
                 <admin>
                       <label>Client</label>
                    <controller>admin</controller>
                    <action>list</action>
                    <resource>admin</resource>
                </admin>     
            </pages>
       </nav>
</config>

layout.phtml :

Code:

                    
   $acl_ini = APPLICATION_PATH.'/configs/acl.ini' ;  
   $acl     = new My_Acl_Ini($acl_ini) ;
   Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($acl);
   Zend_View_Helper_Navigation_HelperAbstract::setDefaultRole($role);
                
   echo $this->navigation()
                 ->menu();

Alors en fait, quand je ne suis pas connecté (c'est a dire en 'guest' ), le menu album ne s'affiche pas alors que j'autorise l'action 'album/list' pour 'guest'... Je n'arrive pas a comprendre pourquoi !
Donc voila, si vous voyez une erreur ou un oublie (il doit surement y en avoir un ^^) merci de me le dire, et n'hésitez pas a demander si il vous faut des renseignements supplémentaires !

Merci d'avance !!!

Dernière modification par Kei (07-07-2009 15:33:39)

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