Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-06-2011 15:06:28

gmifsud
Membre
Date d'inscription: 29-04-2010
Messages: 75

Durée d'une Session ?

Bonjour à tous,


J'utilise pour le moment la méthode indiqué dans ce thread http://www.z-f.fr/forum/viewtopic.php?id=6561 pour fixer une durée de session d'authentification.

Code:

$sess = new Zend_Session_Namespace("autorisation");
$sess->setExpirationSeconds($dureelog);
(avec $dureelog défini dans le fichier .ini)

L'ennui, c'est que, normalement, lorsqu'une personne se délogue de l'application, certaines méthodes sont lancées pour "faire le ménage" (détruire la session php, vider des tables temporaires dans la BD parfois, etc).
Or, lorsque c'est la durée de la session qui expire, et bien, la personne est déloguée, mais pas "proprement". Seule la session d'authentification expire (fort logiquement).


Existe-t-il une façon de faire pour gérer une déconnexion / fin de session automatique, en lançant des méthodes lors de cette fin de session ?


Merci.

Dernière modification par gmifsud (16-06-2011 15:08:40)

Hors ligne

 

#2 22-06-2011 22:09:00

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: Durée d'une Session ?

C'est une bonne question que tu as là.

Je connais pas de méthode qui peuvent s'exécuter lorsque la session expire. Je crois que c'est plutôt une vérification qui se fait à chaque chargement de page pour voir si le temps est dépassé.

Comme solution alternative, je vérifierais à chaque chargement si ma session est active, si elle ne l'est pas et que d'autres informations sont active (non proprement déloguée comme tu dis) alors j'éxecuterais les fonctions nécessaire.

Sinon, je suis bien interessé à connaitre une autre solution.

Hors ligne

 

#3 04-07-2011 15:16:26

gmifsud
Membre
Date d'inscription: 29-04-2010
Messages: 75

Re: Durée d'une Session ?

J'ai effectivement mis en place un mécanisme similaire à celui que tu proposes : vérifier si la session est active. Si elle ne l'est pas mais que d'autres informations de session existent, alors lancer un "nettoyage".

J'ai fait ça dans le plugin AccesCheck puisqu'il se lance à chaque appel d'une page.
Cela n'est quand-même pas optimal car ça suppose d'attendre un appel à une page pour que le nettoyage soit lancé...

Hors ligne

 

#4 04-07-2011 15:26:00

bgy
Membre
Lieu: Aix en Provence
Date d'inscription: 23-02-2009
Messages: 14
Site web

Re: Durée d'une Session ?

Si tu as besoin d'effectuer quelques fonctions de nettoyage avant que le membre ne se loggue à nouveau, tu pourrais imaginer un flag du type "cleanLogout" et lorsque ton user se reconnecte, tu vérifies et appel ta méthode de nettoyage avant l'authentification de ton utilisateur.


http://borisguery.com | Fork me on Github | Follow me on Twitter | Check out my tips on Coderwall | More About me

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