Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-01-2008 23:47:34

ceone
Membre
Date d'inscription: 18-12-2007
Messages: 26

Zend_Auth - Durée de l'authentification

Salut à vous,

Je cherche comment configurer la durée pendant laquelle une authentification reste en session. J'imagine que ça doit pouvoir se faire directement avec Zend_Auth.
Si vous avez une idée pour configurer ça, merci de me donner un tuyau.


++

Hors ligne

 

#2 21-01-2008 09:38:25

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Zend_Auth - Durée de l'authentification

c'est un paramètre php qui défini la durée de la session
session expire je crois

Hors ligne

 

#3 21-01-2008 09:45:41

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

Re: Zend_Auth - Durée de l'authentification

Code:

Zend_Session::rememberMe($tempsEnSecondes);

Tout simplement

Hors ligne

 

#4 21-01-2008 14:12:02

ceone
Membre
Date d'inscription: 18-12-2007
Messages: 26

Re: Zend_Auth - Durée de l'authentification

Re,

Merci pour vos réponses.
D'après ce que vous dites, je présume que l'on peut passer directement un objet Zend_Session_Namespace en paramètre à

Code:

$s = new Zend_Session_Namespace('authNS');
$s->setExpirationSeconds(60);

$auth = Zend_Auth::getInstance();
$auth->setStorage($s);

à la place de l'objet Zend_Auth_Storage_Session

Code:

$auth = Zend_Auth::getInstance();
$auth->setStorage(new Zend_Auth_Storage_Session('someNamespace'));

Je vais tester ça, j'espère que ça peut marcher ainsi et qu'il ne faut pas rajouter une couche supplémentaire.


Au passage je remercie sekaijin pour les quelques bons tutos que tu as publié et tes réflexions sur ZF.


++

Hors ligne

 

#5 21-01-2008 16:51:49

ceone
Membre
Date d'inscription: 18-12-2007
Messages: 26

Re: Zend_Auth - Durée de l'authentification

Alors voici la solution finale.

Ma proposition du dernier post ne fonctionne pas, malheureusement il faut gérer à part la durée de vie du namespace de la session de l'authentification (d'après mes tests). On doit donc utiliser la méthode setExpirationSeconds sur un une instance de la classe Zend_Session_Namespace. Ainsi on fixe la durée de la session d'authentification en secondes.

Ce qui me chagrine c'est qu'il y a de la répétition de namespace avec cette technique.
Si quelqu'un à mieux (sans encore étendre une classe de ZF) merci de faire passer l'info.

Code:

$auth = Zend_Auth::getInstance();
$auth->setStorage(new Zend_Auth_Storage_Session('someNamespace'));

$ns = new Zend_Session_Namespace('someNamespace');
$ns->setExpirationSeconds(30);

A +

Hors ligne

 

#6 21-01-2008 17:41:15

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

Re: Zend_Auth - Durée de l'authentification

tu as testé ça: Zend_Session::rememberMe($tempsEnSecondes); ?

Hors ligne

 

#7 21-01-2008 18:29:38

ceone
Membre
Date d'inscription: 18-12-2007
Messages: 26

Re: Zend_Auth - Durée de l'authentification

Non je n'ai pas testé. Mais pourquoi faire ? C'est juste la validité d'un namespace en session que je veux limiter dans la temps et non toute la session.

Pourquoi veux tu que j'utilise cette méthode à la place de setExpirationSeconds() ? Quels avantages ?

Hors ligne

 

#8 03-02-2008 18:21:55

ALkyD
Membre
Lieu: Limoges
Date d'inscription: 11-07-2007
Messages: 69
Site web

Re: Zend_Auth - Durée de l'authentification

setExpirationSeconds(), c'est pour un namespace de session précis, et Zend_Session::rememberMe($tempsEnSecondes); pour toute la session (donc tous les namespaces) ?

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