Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2006, 16h54   #1
Invité de passage
 
Inscription : juillet 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 4
Points : 0
Points : 0
Par défaut [LDAP] Récupération de mot de passe user sous openLDAP Mac OSX en PHP

Bonjour,

désolé de vous embêter encore , je réalise un script de login en PHP qui s'interface sur le serveur OpenLDAP de Mac OSX...

Le problème est que je ne comprend pas trop son fonctionnement avec Kerberos, et je n'arrive pas à récupérer le champ mot de passe (dsAttrTypeNative:UserPassword)

Ca ne me renvoie même pas de chaine cryptée... Alors que le champ "dsAttrTypeNative:mail" est bien renvoyé, ainsi que les autres...

Code :
1
2
3
4
5
6
for ($i=0; $i<$info["count"]; $i++) {
       echo 'dn est : ' . $info[$i]["dn"] . '<br />';
       echo 'premiere entree cn : ' . $info[$i]["cn"][0] . '<br />';
       echo 'premier email : ' . $info[$i]["mail"][0] . '<br />';
       echo 'mdp : ' . $info[$i]["userPassword"] . '<br />';
   }
Quelqu'un pourrait-il m'éclairer svp ?
3mPty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 17h01   #2
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Bonjour,

je n'en suis pas sûre, mais peut-être qu'un champ mot de passe ne peut pas être récupéré...
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 10h42   #3
Invité de passage
 
Inscription : juillet 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 4
Points : 0
Points : 0
Ainsi il serait impossible d'utiliser le serveur LDAP comme serveur d'Authentification lors des phases de login en php ?
3mPty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 13h45   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par navis84
je n'en suis pas sûre, mais peut-être qu'un champ mot de passe ne peut pas être récupéré...
Tout dépend des ACL : les permissions pour un utilisateur (anonyme, authentifié, ...) à accéder aux données (lecture, écriture, ...). Mais avec kerberos, si j'ai bonne mémoire, ce champ (userPassword) ressemble à une adresse email pour justement utiliser le protocole Kerberos.


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 14h43   #5
Invité de passage
 
Inscription : juillet 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 4
Points : 0
Points : 0
Je ne sais pas, ce champ est crypté lorsqu'on y accède... Et vu qu'on ne peut le récupérer en php...

En tout cas j'ai trouvé la solution, il suffit de faire un ldap_bind avec les identifiants entrés et de tester la valeur de retour (False, True).

L'inconvénient de cette méthode est qu'elle affiche un warning en cas d'échec... Existe-t-il une solution pour ne pas afficher de warning dans un script donné sans les désactiver dans le php.ini ?

Merci de vos réponses
3mPty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 15h23   #6
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Citation:
Envoyé par 3mPty
Existe-t-il une solution pour ne pas afficher de warning dans un script donné sans les désactiver dans le php.ini ?

Merci de vos réponses
En faisant précéder la fonction d'un arobas (@), celle-ci ne déclenchera pas de warning.
Exemple, si le champs "test" n'est pas posté, en temps normal, le code suivant génère une erreur sans l'arobas. Il faudrait alors tester le champs avec isset avant de vouloir l'utiliser :

$test=@$_POST['test'];

Dans cet exemple, $test vaut 0 si le champs n'est pas posté, à+

ps: Probable que cela doit fonctionner différemment selon la version du PHP & Apache utilisées...
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 18h37   #7
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par 3mPty
Je ne sais pas, ce champ est crypté lorsqu'on y accède... Et vu qu'on ne peut le récupérer en php...
Encore de mémoire, l'attribut userPassword est stocké sous forme binaire donc utilise un "encodage" base64 : voir les fonctions base64_encode() et base64_decode().

Toutefois, avant de foncer tête baissée dans la programmation en PHP, il serait peut être plus judicieux de comprendre un minimum comment fonctionne LDAP/OpenLDAP et Kerberos.


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2006, 10h23   #8
Invité de passage
 
Inscription : juillet 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 4
Points : 0
Points : 0
Citation:
Envoyé par julp
Toutefois, avant de foncer tête baissée dans la programmation en PHP, il serait peut être plus judicieux de comprendre un minimum comment fonctionne LDAP/OpenLDAP et Kerberos.
Je ne demande pas mieux, seulement je n'ai pas trouvé de bons tuto sur une application concrète de ces deux composants... Si tu connais une bonne doc je suis preneur...

Merci à Sub0 pour l'astuce de l'arobase, qui fonctionne parfaitement !
3mPty est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h45.


 
 
 
 
Partenaires

Hébergement Web