|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() |
Bonjour à tous,
J'ai suivi le tutorial de Rob Allen traduit sur ce site et j'aimerais ajouter une fonctionnalité "Remember me" au formulaire de login. Quelqu'un peut-il m'aider ? Merci
__________________
Sébastien Bervoets |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : octobre 2005 Messages : 3 398 ![]() |
J'ai fait une telle fonctionnalité pour mon site. Je ne suis pas sûr que ma manière de faire soit très élégante mais bon, elle est fonctionnelle.
J'ai crée une classe CookieManager, avec des fonctions statiques "addCookie", "getCookie", "hasCookie" et "removeCookies" pour gérer les cookies. Ensuite, dans une classe SessionManager, j'ai fait une fonction statique loadSession qui, s'il n'y a pas de session chargée actuellement dans Zend_Auth, vérifie la présence de Cookie, et le cas échéant, récupère les informations de ce cookie et charger un Zend_Auth. J'appelle cette fonction dans chaque controller, dans la fonction init. Ce côté répétitif me gène un peu mais je n'ai rien trouvé de mieux, en plus du fait que je n'ai pas vérifié si le Zend Framework ne proposait pas cette fonctionnalité directement dans Zend_Auth. Quoi qu'il en soit, c'est une solution intermédiaire simple et qui marche très bien. Si tu as besoin de plus de précision sur les classes et fonctions, tu n'as qu'à demander Bonne chance. |
|
|
00
|
|
|
#3 | ||||||
|
Membre du Club
![]() |
Alors voilà, par rapport au tutorial et à différentes lectures cette après-midi, j'ai trouvé ceci :
Dans le fichier login.phtml : Code :
<input type="checkbox" name="rememberme" value="remember">Se souvenir de moi</input> Code :
Code :
$rememberme = $f->filter($this->_request->getPost('rememberme')); Code :
Code :
Et dans la fonction logoutAction et cela semble fonctionner pas mal. J'ai entendu dire que cela ne fonctionne plus le lendemain. Je vérifierai...
__________________
Sébastien Bervoets |
||||||
|
|
00
|
|
|
#4 | ||
|
Futur Membre du Club
![]() Inscription : octobre 2007 Messages : 13 ![]() |
Cette technique fonction à condition que Zend_Session::start() soit appelé après Zend_Session::rememberMe().
Ce qui devient problématique si Zend_Session::start() est appelé au départ dans le bootstrap. Un moyen de contourner le problème est de se servir d'un cookie pour signaler au bootstrap d'appeler Zend_Session::rememberMe(); Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com