Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'ai un problème pour développer la partie de l'authentification d'un site. J'ai utilisé l'architecture MVC, et zend_layout pour le template.
Mon "logbox" se situe dans le "header". Selon les tutos que j'ai lu, il faut créer une action "controllers/AuthControlleur.php", dans ce cas là, il faut absolument un "views/scripts/auth/login.phtml". Dans mon cas, je ne veux pas une page de "login.phtml", je n'ai aucune idée comment gérer ce problème.
Merci pour vos réponses.
Hors ligne
Tu n'as pas besoin d'une vue pour le login.
L'action peut faire le traitement et finir par un redirect, c'est une pratique très courante.
Hors ligne
Merci nikkau. je vois à-peu-près, je connais comment coder en jsp/struts, mais je debute avec le zend framework. tu peut m'indiquet quelques lignes de codes s'il te plaît, merci beaucoup.
Hors ligne
Ca peut ptet aider :
function loginAction() { ..... ..... $result = $auth->authenticate ( $authAdapter ); if ($result->isValid ()) { // authentifié .... $this->_redirect ( '/' ); // redirige au site } else { // pas authentifié ....
Avec un login.phtml vide.
Hors ligne
non tu ajoute à ton action
$this->getFrontController()->setParam('noViewRenderer', true);
et tu ne mets pas de script login.phtml
Hors ligne
merci fte, je suis en train de tester, je vous dirai le résultat, aussi pour les autres "débutant" comme moi
Hors ligne
sekaijin a écrit:
non tu ajoute à ton action
Code:
$this->getFrontController()->setParam('noViewRenderer', true);et tu ne mets pas de script login.phtml
super, une question, si j'ai bien compris, je le place dans l'action "loginAction". il me semble "loginAction" est une action indispensable(par défaut?) pour "AuthController", non?
-----------------------------------------------------------------------------------------
cet ligne n'a pas marché, j'ai testé sur la première ligne de "loginAction" et dans "isValide()". par contre, $this->redirection a l'air de bien marcher, mais j'ai besoin un "auth/login.phtml" vide dans la vue
Dernière modification par longmaomao (01-07-2008 15:38:17)
Hors ligne
non tu mets les action que tu veux tu n'est pas obligé d'avoir d'auth controller ni même de login
mais si tu dois valider l'ouverture de session d'un utilisateur il faut bien à un moment faire le travail
soit tu le fais par formulaire soit par d'autr emoyen comme l'autentification http1.1 ou NTML ou kerberos il existe de nombreux protocoles. tu peux même faire sa par échange de certificat gestion de carte à pucce ou biométrie
ZF ne t'impose rien
A+JYT
Hors ligne
tu peux lire ça
http://framework.zend.com/manual/fr/zen … ction.html
à la ligne
Comportement par défaut
Par défaut, le contrôleur frontal active l'aide d'action ViewRenderer.
il est expliqué comment désactiver la génération de vue dans une action
enfin tu peux utiliser ceci
$this->_helper->redirector->gotoUrlAndExit($url, $options);
cet appel redirige immédiatement le script
le header et envoyé et le script s'arrête
s'il y a d'autre action dans le stack en cours elle sont abandonnées.
le _redirect lui stoque l'information comme quoi il y a une redirection et tremine le script en le déroulant jusqu'à sa fin
si entre temps il n'y a pas eut d'affichage ou d'autre redirect c'est celui-ci est s'exécute.
A+JYT
Dernière modification par sekaijin (01-07-2008 17:38:14)
Hors ligne
$this->getFrontController()->setParam('noViewRenderer', true);
Cette ligne n'est pas possible, parce que j'ai utilisé "layout", quand on met "noViewRender", si je submitte mon formulaire de l'authentification j'aurai plus ni "header" ni "footer"
merci seikaijin, j'ai pas encore testé la ligne que tu m'avais indiqué, j'ai pas trop compris qu'est-ce qu'il fallait mettre comme $url et $option. je vais le curser un peu demain.
Hors ligne
Il y a quelqu'un qui peut m'aider, s'il vous plaît.
j'ai retesté la ligne:
$this->getFrontController()->setParam('noViewRenderer', true);
ça ne marche pas, la page est redirigé quand-même vers "auth/login", mais sans les fragments insérés dans le layout".
Hors ligne
Cette ligne ne doit etre que l'action dont tu ne veux pas de page.
Où se trouve t'elle ?
Hors ligne
je l'ai testé dans le "AuthController/loginAcion"
Hors ligne
Pages: 1