Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-10-2010 22:13:43

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

Utiliser un plugin ou une autre méthode?

Bonsoir. Je suis quelque peu perdu. J'aimerai avoir un bloc de connexion présent en permanence sur mon site, et qu'il soit remplacé par une ou plusieurs actions d'un ou de plusieurs autres contrôleurs.

J'hésite sur la meilleur manière de faire. Est-il possible de faire un plugin qui vérifie l'identification et donc choisi de l'action à appeler (login ou les autres). Ou bien est-ce que je dois vérifier si l'utilisateur est connecté dans le layout justement et appeler les actions désirées suite à ça?

Ou alors encore appeler une action d'un contrôleur depuis le layout qui va vérifier l'identification et ensuite choisir des actions à appeler.

Je préférerai la solution du plugin seulement je n'arrive pas à exécuter les actions désirées depuis celui-ci.

Les deux autres méthodes me paraissent plus aisées mais pas très propres niveau MVC. Voila j'aimerai vos avis sur ce point.

Dernière modification par Issiel (06-10-2010 17:12:37)

Hors ligne

 

#2 05-10-2010 22:19:30

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: Utiliser un plugin ou une autre méthode?

Est-ce que tu t'es pensé sur le module Zend dédié à l'authentification des usagés dans une application qu'est "Zend_Auth"?

Intégré avec les autorisations et le contrôle d'accès du module Zend_acl, je crois que ton bonheur sera fait !

http://framework.zend.com/manual/fr/zen … ction.html

Dernière modification par probitaille (05-10-2010 22:20:23)

Hors ligne

 

#3 06-10-2010 00:54:02

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

Re: Utiliser un plugin ou une autre méthode?

Merci d'avoir répondu.
En fait je connais déjà Zend_Auth et Zend_acl mais je ne vois pas vraiment comment cela peut m'aider dans ce que je demande.
Je veux avoir toujours présent sur mon site, soit un formulaire de login, soit à la place une liste de certaines tâches ou autres.

Donc en gros, si je ne suis pas connecté j'aimerai que juste dans ce bloc, quelque soit la page, l'action login du contrôleur membre soit appelée. Cela me permettrait d'avoir par défaut mon formulaire de connexion affiché.

Sinon si il est connecté alors d'autres methodes d'autres contrôleurs seront appelées.

Certes j'utiliserai Zend_Auth pour la vérification, mais mon problème vient surtout d'où le faire.
Créer une méthodes dans un contrôleur pour ca? Utiliser un plugin et si oui, comment faire appel à des contrôleurs depuis le plugin?

Hors ligne

 

#4 06-10-2010 15:03:04

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

Re: Utiliser un plugin ou une autre méthode?

Je pense passer par un plugin.
Il me suffit dans mon layout de faire un echo de la methode de mon plugin en lui passant en paramètre $this qui correspondra au layout actuel.
Le plugin recevra donc un paramètre $view. Il lui suffira de regarder si l'utilisateur est en ligne ou non. Ainsi je pourrais faire return $view->action('action','controleur');

C'est la meilleur idée que j'ai trouvé pour résoudre mon problème pour le moment. Si vous avec une autre proposition je vous écoute.

Hors ligne

 

#5 06-10-2010 22:44:57

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

Re: Utiliser un plugin ou une autre méthode?

Code:

class Zend_View_Helper_MonPlugin {
    public function MonPlugin() {
              
        $auth = Zend_Auth::getInstance();
 $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
            $view = $viewRenderer->view;
        if($auth->hasIdentity()) {
            
            return $view->action('test', 'index');
     
        }
      
           
            return $view->action('index', 'index');
              
    }

}

J'ai trouvé ça encore mieux. Et visiblement cela fonctionne. Je n'aime pas trop le fait que ce soit une vue qui appelle un contrôleur mais je vais faire avec pour le moment.

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