Re : [gepi-users] Déconnexions après login : le point

Philippe.Morin at ac-caen.fr Philippe.Morin at ac-caen.fr
Ven 13 Oct 16:48:32 CEST 2006


Bonjour,

Dans l'établissement où j'ai installé Gepi, tout fonctionne bien maintenant.
(Thomas, excuse-moi de ne pas avoir répondu plus vite, j'étais pris toute la journée).
Encore merci à toutes les personnes qui ont participé à la résolution de ce problème.

Philippe Morin
Académie de Caen

----- Message d'origine -----
De: Thomas BELLIARD <thomas.belliard at free.fr>
Date: Vendredi, Octobre 13, 2006 3:26 pm
Objet: [gepi-users] Déconnexions après login : le point
À: GEPI-users <gepi-users at lists.adullact.net>

> Bonjour à tous,
> 
> En lisant les messages faisant suite à mon envoi d'un fichier 
> login.phpmodifié ce matin, je pense que le problème de 
> déconnexions est
> effectivement réglé.
> 
> La cause des déconnexions immédiatement après login était liée à la
> redirection vers la page d'accueil de Gepi. En effet le processus de
> redirection intervient de la manière suivante :
> - initialisation de la session
> - redirection
> - fin du script par la commande die().
> 
> Le problème, en l'occurence, vient du fait que le script se termine
> après la redirection (logique) et que les variables de sessions sont
> enregistrées dans le fichier de sessions seulement après la fin du
> script. En conséquence, on était redirigé vers la page accueil.php 
> avantque les variables de session (qui sont initialisées lors d'une
> vérification positive du login) soient effectivement écrites dans le
> fichier de session. Résultat : quand accueil.php ouvre à nouveau la
> session, il accède à un fichier de sessions sans les variables
> nécessaires à la vérification des droits d'accès, celles-ci 
> n'ayant pas
> eu le temps d'être enregistrées avant la redirection. C'est alors
> considéré comme un accès illégal au fichier, et on est donc
> automatiquement déconnecté.
> 
> La solution mise en oeuvre dans le fichier login.php envoyé ce 
> matin est
> de forcer la "fermeture" (au sens où les sessions sont en réalité
> éphémères : les valeurs sont stockées dans un fichier de session entre
> deux requêtes, la session étant à chaque fois réinitialisée) grâce 
> à la
> fonction session_write_close() juste avant que s'opère la redirection.
> Cela a pour effet de forcer l'écriture des valeurs dans le fichier de
> session, et ainsi être sûr que ces valeurs seront retrouvées par
> accueil.php.
> 
> J'en suis arrivé à cette solution en croisant un message des
> responsables TICE de Caen (LCS) que m'a transmis Philippe Morin, 
> et un
> message posté en commentaire de la documentation officielle PHP 
> sur les
> sessions (que j'ai parcourue pas mal de fois ces derniers jours ;))
> 
> Merci à tous pour vos retours sur ces problèmes :)
> 
> Je vais diffuser dans le week-end une version 1.4.3.1 stable, qui
> corrigera ce problème de déconnexion après login, et le problème des
> déconnexions liées à register_globals=On, réglé par Laurent avant-
> hier.
> J'aimerais que tous ceux qui ont rencontré ces problèmes de 
> déconnexionpost-login me confirment que tout fonctionne désormais 
> correctement avec
> le fichier login.php que j'ai envoyé ce matin. Ce fichier peut aussi
> être récupéré sur le CVS :
> http://adullact.net/plugins/scmcvs/cvsweb.php/~checkout~/gepi/gepi/login.php?rev=1.35;content-type=text%2Fplain;cvsroot=gepi
> 
> Maintenant je vais pouvoir me pencher plus sérieusement sur la 
> prochaineversion !
> 
> A bientôt,
> Thomas
> 
> 



Plus d'informations sur la liste de diffusion gepi-users