Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-06-2007 16:06:07

toutoune60
Membre
Date d'inscription: 13-04-2007
Messages: 21

[Résolu][Zend_Auth][9.0.2] Paramétrer le délai d'expiration

Bonjour,
J'ai bien compris que par défaut, Zend_Auth utilisait les Auth_Session pour stocker les données à conserver.
Mais j'aurais voulu savoir sur quel objet je pouvais appliquer la méthode rememberMe() afin de paramétrer le délai d'expiration de ma session?

Dernière modification par toutoune60 (02-06-2007 12:36:28)

Hors ligne

 

#2 01-06-2007 17:31:24

fizzbanana
Membre
Date d'inscription: 29-05-2007
Messages: 40

Re: [Résolu][Zend_Auth][9.0.2] Paramétrer le délai d'expiration

regarde le code ici.  Pour moi ce marche bien.  Si vous utilisez Zend_Session::rememberMe() sans definer seconds, le default est 2 semaines.

Code:

$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter);
if ($result->isValid()) {
// success: store database row to auth's storage
// system. (Not the password though!)
$data = $authAdapter->getResultRowObject(null,
'password');
$auth->getStorage()->write($data);
Zend_Session::rememberMe($seconds);
$this->_redirect('/');
} else {
// failure: clear database row from session
$this->view->message = 'Login failed';
}

Edit Philippe : mise en forme du code

Dernière modification par philippe (01-06-2007 18:53:00)

Hors ligne

 

#3 02-06-2007 12:35:55

toutoune60
Membre
Date d'inscription: 13-04-2007
Messages: 21

Re: [Résolu][Zend_Auth][9.0.2] Paramétrer le délai d'expiration

Parfait, c'est exactement ça que je cherchais :

Code:

Zend_Session::rememberMe($seconds);

Je ne voyais pas la chose si simple!

Merci!

Hors ligne

 

#4 06-06-2007 10:58:55

toutoune60
Membre
Date d'inscription: 13-04-2007
Messages: 21

Re: [Résolu][Zend_Auth][9.0.2] Paramétrer le délai d'expiration

Une question supplémentaire... je fais en sorte que $seconds fasse durer ma session pendant 1 an.
Les infos d'expiration du cookies sont OK. Si je ferme le navigateur et que je le réouvre, je suis toujours dans ma session, mais plus le lendemain sad - Pourtant le cookies est là!
Mon serveur oublierais-t-il les sessions? Y a-t-il quelque chose à paramétrer pour cela?

Hors ligne

 

#5 06-06-2007 14:58:24

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: [Résolu][Zend_Auth][9.0.2] Paramétrer le délai d'expiration

Cela doit etre du a la destruction sur le serveur des valeurs de la session.
fichier php.ini a modifier, voir partie concernant les session avec entre autre :

session.gc_maxlifetime = 1440
session.cookie_lifetime = 0
session.gc_probability = 1
session.gc_divisor     = 100

Change les parametres et regardes l'incidence que ca peut avoir

[b]My 2 cents[b]
De toutes façon, c'est presque abberant de garder des informations Session 1 an, imagine avec un très fort trafique ce que ca peut impliquer comme stockage d'information (espace mémoire) + un risque possible de vol de sessions supplémentaire ainsi qu'une possibilité de collision concernant les id de session (meme si ca reste peut probable)

Hors ligne

 

#6 06-06-2007 15:03:00

toutoune60
Membre
Date d'inscription: 13-04-2007
Messages: 21

Re: [Résolu][Zend_Auth][9.0.2] Paramétrer le délai d'expiration

Ben oui mais comment veux tu gérer le "se souvenir de moi" sur un site si je ne paramètre pas cela à un an?
il faut bien que je choississe une valeur.
A moins qu'il y ait une autre solution?

Hors ligne

 

#7 06-06-2007 15:27:49

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: [Résolu][Zend_Auth][9.0.2] Paramétrer le délai d'expiration

tu le limites a 1 semaine voir plus court, je me suis jamais poser la question, car je n'ai jamais eu a implementer cette fonctionnalité, que je trouve dangereuse. Tout comme, le fait que le navigateur puisse se souvenir du mot de passe.

ou tu gères ca via une gestion de session en BDD, plutot que dans des fichiers, mais il faudra tout de meme la purger a un instant T.

Regardes comment cela est codé dans les différents scripts de fora (forum au pluriel), cette fonctionnalité est souvent implémentée.

Bon courage

Hors ligne

 

#8 12-10-2007 11:58:47

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][Zend_Auth][9.0.2] Paramétrer le délai d'expiration

Google limite a 2 semaines consécutives pour tout ces services. Suivez l'exemple
Le truc c que des que le gas se reconnectent pendant ce delais, tu remet le delais à sa valeur initiale et le tour est joué!

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