Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-08-2008 23:56:44

mkouri
Nouveau membre
Date d'inscription: 27-01-2008
Messages: 5

Authentification

Bonjour,

J'ai plusieurs contrôleurs que j'aimerais protéger avec un accès authentifié. Existe-il une autre méthode plus facile que d'ajouter la fonction suivante dans chaque contrôleur?

function preDispatch()
    {
        $auth = Zend_Auth::getInstance();
        if (!$auth->hasIdentity()) {
            $this->_redirect(’auth/login’);
        }
    }

Et si oui, est ce que on peut utiliser un plugin ou un helper ?

Merci pour votre réponse.

Hors ligne

 

#2 27-08-2008 08:29:06

Nikkau
Membre
Date d'inscription: 25-03-2008
Messages: 52

Re: Authentification

Il suffit de créer un controller avec ta fonction preDispatch et de l'étendre à chaque fois que tu as besoin d'un controller "protégé".

La solution est dans le langage PHP, pas le framework cette fois wink .

Hors ligne

 

#3 27-08-2008 09:11:44

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

Re: Authentification

Hello,

Ça, c'est le cas typique d'un plugin :

Code:

class Mp_Controller_Plugin_Auth extends Zend_Controller_Plugin_Abstract
{
    // Pq attendre le predispatch pour l'authentification ?
    // (ceci n'est pas vrai pour les ACLs)
    public function dispatchLoopStartup (Zend_Controller_Request_Abstract $requete)
    {}
}

A+


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

Hors ligne

 

#4 27-08-2008 11:21:42

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Authentification

Je suis pour le plugin aussi smile


----
Gruiiik !

Hors ligne

 

#5 27-08-2008 13:37:08

mkouri
Nouveau membre
Date d'inscription: 27-01-2008
Messages: 5

Re: Authentification

Ma question maintenant est la suivante.Comment faire un redirect depuis un plugin, comme dans l'exemple

class Mp_Controller_Plugin_Auth extends Zend_Controller_Plugin_Abstract
{
    // Pq attendre le predispatch pour l'authentification ?
    // (ceci n'est pas vrai pour les ACLs)
    public function dispatchLoopStartup (Zend_Controller_Request_Abstract $requete)
    {
           $auth = Zend_Auth::getInstance();
        if (!$auth->hasIdentity()) {
            $this->_redirect(’auth/login’);
        }
    }
}

Merci à vous

Dernière modification par mkouri (27-08-2008 13:45:54)

Hors ligne

 

#6 27-08-2008 13:57:59

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Authentification

Tu ne fais pas de redirect, tu changes le module/controller/action demandé grace à l'objet $requete

dit moi, tu as lu la doc ??


----
Gruiiik !

Hors ligne

 

#7 27-08-2008 14:16:30

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

Re: Authentification

Hello,

+1
Moi aussi je change la requête.

A+


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

Hors ligne

 

#8 27-08-2008 15:32:17

mkouri
Nouveau membre
Date d'inscription: 27-01-2008
Messages: 5

Re: Authentification

Merci pour vos réponses, j'ai trouvé la solution grâce à vous. J'ai ajouté dans mon plugin la commande $request->setControllerName('index');

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