Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-05-2008 11:29:15

cybercandyman
Membre
Date d'inscription: 07-05-2008
Messages: 22

[Zend Layout] Plugin

Bonjour à tous,

J'ai une question conçernant le fonctionnement des plugins.

J'utilise le ZendLayout sur la base de ce fichier :

Code:

...
<div id="left">

    <?php echo $this->action('index','user','account') ?>
    
</div>

<div id="right"> 

    <?php echo $this->action('read','index','feed',array("url"=>"")) ?>
    
</div>

<div id="content">  
    
    <?php echo $this->layout()->CONTENT ?> 
    
</div>


<h1>
   <?php echo $this->_("lang") ?> : 
</h1>

<?php echo $this->debug ?>
</body>
</html>

Et je m'apprête à écrire un plugin qui va gérer les accés au différents module/contrôleur, que voici :

Code:

<?php
class plugin_acl_controller
extends Zend_Controller_Plugin_Abstract {

    public function routeShutdown(Zend_Controller_Request_Abstract $request)
    {
        //$this->getResponse()->appendBody("<p>routeShutdown() appelée</p>\n");
        $moduleName = $request->getModuleName();
        $ctrlName = $request->getControllerName();
        $actionName = $request->getActionName();
        // Récupérer le auth
        $auth = Zend_Registry::get("auth");
       

        if(!$auth->hasIdentity()){


           
                $request->setModuleName("default");
                $request->setControllerName("index");
                $request->setActionName("notlogged");

            
        }


    }

je constate que mon action principale est bien capturé par mon plugin et me retourne bien un message comme quoi j'ai pas les droits.
Cependant voici ce que je me dis :
- Est-ce que les autres actions dans mon layout ne devrait pas etre capturé également ?
-> si non, comment je devrais m'y prendre ?
- Est-ce que mon code pour le controle d'accés intervient bien au bon moment dans le processus de routage/dispatchage ?

merci pour vos idées smile

Hors ligne

 

#2 14-05-2008 12:14:27

whitespirit
Membre
Date d'inscription: 25-01-2008
Messages: 393

Re: [Zend Layout] Plugin

Est-ce que les autres actions dans mon layout ne devrait pas etre capturé également ?

de quelle action tu parles ? Dans ton code tu ne test aucune action mais seulement si l'utilisateur s'est authentifié. Soit tu parles d'authentification, là on est sur Zend_Auth, ou soit des droits et là c'est Zend_Acl.

En ce qui concerne le plugin, c'est bien mais par contre je n'avais pas encore vu qq'un utilisé le controle d'authenfication par routeShutdown() mais plutot par preDispath(). Ceci dit, je ne sais pas quand est exécuté routeShutdown(), peut-être que ça ne pose pas de pb.

Hors ligne

 

#3 14-05-2008 12:45:07

cybercandyman
Membre
Date d'inscription: 07-05-2008
Messages: 22

Re: [Zend Layout] Plugin

je me suis peut-être mal exprimé alors je reformule wink

Je sais que dans mon plugin je ne teste que l'authentification, il ne s'agit que d'un test pour voir si mon plugin agit ou pas sur les différentes actions qui sont appelés. Alors je m'explique par action :

- Quand j'appele une action directement par url :

Code:

http://.../module/controller/action

=> mon plugin fonctionne

- Quand j'appele une action par le helper de vue "action" dans le layout

Code:

 <?php echo $this->action('read','index','feed',array("url"=>"pwet.rss")) ?>

=> Le plugin ne s'applique pas

-> mes questions étaient donc :

Est-ce normal ?
Comment je dois procéder si je veux que mon plugin s'applique sur les actions appelés par le helper de vue "action"?

en espérant avoir été plus clair et en te remerciant pour ton aide smile

Hors ligne

 

#4 14-05-2008 12:55:41

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Zend Layout] Plugin

Hello,

Un plugin est attaché à ton Zend_Controller_Front pas à un Zend_Controller_Action.

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#5 14-05-2008 14:03:44

cybercandyman
Membre
Date d'inscription: 07-05-2008
Messages: 22

Re: [Zend Layout] Plugin

Héhé je comprend mieux mon erreur.
merci mikaelkael smile

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