Page 1 sur 1

Session / _SERVER variables

Posté : 08 févr. 2007, 21:06
par Elshaa
Hello,

J'ai un soucis en voulant gerer la deconnection d'utilisateurs.
Je log les users via un ldap de cette facon (a la grosse)

Code : Tout sélectionner

function authenticate_user() { header('WWW-Authenticate: Basic Realm="E-Group Internal Info"'); header('HTTP/1.0 401 Unauthorized'); include('../401.html'); exit; } $username = $_SERVER['PHP_AUTH_USER']; $passwd = $_SERVER['PHP_AUTH_PW']; // Initalize connection with the ldap server. $ds = ldap_conn($LDAPSERVER, $LDAPPORT, $USETLS, $LDAPVERSION); // Bind as root and search for the user DN ldap_bind($ds, $ROOTDN, $ROOTPASS); $dn = get_dn_local($ds, $username); // Bind as user with the right DN $result = ldap_bind($ds, $dn, $passwd); ldap_close($ds); // If bind failed, then prompt for a login / password again if (!$result || $passwd == "") { authenticate_user(); }
Je veux maintenant pouvoir gerer leur deconnexion. Apres quelques recherches, je vois que les sessions sont le meilleur (seul ?) moyen pour faire ca.

Le problem, c'est que l'utilisation de ceci :

Code : Tout sélectionner

header('WWW-Authenticate: Basic Realm="E-Group Internal Info"');
va creer les variables $_SERVER['PHP_AUTH_USER'] et $_SERVER['PHP_AUTH_PW'], qui resteront la, meme apres creation / desctruction d'une session, donc au final, vu mon code, l'utilisateur sera toujours percu comme 'loggue' par le systeme.
J'ai l'impression que je ne peux pas m'en sortir, a cause des ces 2 variables que je ne peut pas detruire. Une solution serai de creer mon propre formulaire, je ne serai plus embeter avec ces variables _SERVER*, et la destruction d'une session indiquerai bel et bien qu'un utilisateur est deconnecte.

Est-ce qu'il y a moyen de detruire ces variables (cote client et server). J'ai essayer de les 'unset', mais elle reste qqpart (cookie chez le client ?).

Je suis un peu beaucoup perdu la, merci de votre aide.