Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-01-2010 15:29:30

Flizer
Membre
Date d'inscription: 17-12-2009
Messages: 34

[Zend_1.9.6] loginAction(), Layout & Redirection

Salut !
J'ai mis en place un système d'identification qui fonctionne. L'action utilisée est loginAction() dans IdentificationController().
J'ai créé un layout dans lequel apparaît un cadre Login où la vue de loginAction() est affichée afin de permettre de se logger à tout moment.
Tout cela fonctionne très bien.

MAIS, lorsque l'on se loggue mon formulaire fait un lien vers mon controller/action pour réaliser l'action login avec les paramètres entrés par l'utilisateur, ce qui fait apparaitre 2 fois mon formulaire : une fois dans le "layout", et une fois dans le "content". Si je fais une redirection, cela cré une boucle infinie (d'après firefox).

Comment faire pour que mon système de login ne s'affiche QUE dans mon layout, et que ma page content d'origine ne soit pas changée ?

smile

Dernière modification par Flizer (09-01-2010 15:36:23)

Hors ligne

 

#2 12-01-2010 12:58:07

Flizer
Membre
Date d'inscription: 17-12-2009
Messages: 34

Re: [Zend_1.9.6] loginAction(), Layout & Redirection

C'est plus facile à comprendre avec un dessin smile

http://img706.imageshack.us/img706/7509/dessinw.jpg

Dans le 1 on est sur une page du site. La zone de layout comprend le bloc du haut (HEADER) et de gauche (Login). Le content est matérialisé par "Liste Oiseau".
On entre le login et le pass pour se logger. Lorsque l'on clique sur ok, on est dirigé vers le 2 qui est /controller/action soit (identification/login).

Dans le 2 le problème est d'une part que la vue affichée est le celle de l'action login (facile à résoudre), par contre le fait de retourner sur la page d'origine "Liste Oiseau" via _redirect() est impossible (boucle infinie d'après firefox).

Une idée ?

Dernière modification par Flizer (12-01-2010 13:03:43)

Hors ligne

 

#3 25-03-2010 22:37:11

zed
Membre
Date d'inscription: 28-01-2010
Messages: 27

Re: [Zend_1.9.6] loginAction(), Layout & Redirection

Je sais pas si tu as résolu ton problèmes...

Sinon essaie de te servir d'une aide de vue. Dans laquelle tu génère ton formulaire de login et tu fais un test dedans pour savoir si la personne est déjà connecté tu n'affiche pas le formulaire sinon tu l'affiches.

exemple:

class Zend_View_Helper_Login extends Zend_View_Helper_Abstract {
   
    public function login() {
       
        $form = new Form_Defaut_Login (array(
        'action' => $this->view->BaseUrl('login.html'),
        'method' => 'post'
        ));
       
        //si il n'est pas identifier on affiche le formulaire login
        $auth = Zend_Auth::getInstance();        
        if (!$auth->hasIdentity ()) {       
            return $form;
        }
       
    }

}

où login.html est le lien vers l'action qui traite l'authentification.

Et dans ton layout tu indiques simplement $this->login();

Voilou

Hors ligne

 

#4 07-04-2011 16:37:37

vince851
Membre
Date d'inscription: 04-05-2010
Messages: 28

Re: [Zend_1.9.6] loginAction(), Layout & Redirection

zed a écrit:

Je sais pas si tu as résolu ton problèmes...

Sinon essaie de te servir d'une aide de vue. Dans laquelle tu génère ton formulaire de login et tu fais un test dedans pour savoir si la personne est déjà connecté tu n'affiche pas le formulaire sinon tu l'affiches.

exemple:

class Zend_View_Helper_Login extends Zend_View_Helper_Abstract {
   
    public function login() {
       
        $form = new Form_Defaut_Login (array(
        'action' => $this->view->BaseUrl('login.html'),
        'method' => 'post'
        ));
       
        //si il n'est pas identifier on affiche le formulaire login
        $auth = Zend_Auth::getInstance();        
        if (!$auth->hasIdentity ()) {       
            return $form;
        }
       
    }

}

où login.html est le lien vers l'action qui traite l'authentification.

Et dans ton layout tu indiques simplement $this->login();

Voilou

ta réponse m'aide beaucoup pour mon projet, mais peut tu m'indiquer où place tu cette aide de vue? dans le layout, dans un controller spécifique ou dans un autre dossier?

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