IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[LDAP] Problème d'authentification via PHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut [LDAP] Problème d'authentification via PHP
    Bonjour,

    Je souhaite réaliser une interface en PHP qui permet à l'utilisateur de se connecter sur son compte ldap.

    J'utilise pour cela le champ userPassword qui est encodé en MD5.
    Donc, si on revient à l'interface PHP, lorsque le formulaire est envoyé, je récupère le mot de passe ($mdp_user) et je l'encode avec la fonction md5().

    Je recherche alors l'entrée dans le ldap, celle qui correspond à l'utilisateur et au mot de passe au format MD5... mais il n'y a aucune correspondance...

    J'ai aussi fait comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mdp_user = '{MD5}'.base64_encode(pack('H*',md5($mdp_user)));
    mais en vain....

    Auriez-vous une solution ?

    Merci d'avance pour votre aide.
    @+
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  2. #2
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    Le mieux serait de mettre un logiciel (il y en as en freeware) qui serve d'interface avec ton serveur LDAP.
    Histoire de voir ce que tu as exactement dans tes champs.
    quel est l'utilite du base64_encode et du pack ?
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  3. #3
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Citation Envoyé par stunti
    quel est l'utilite du base64_encode et du pack ?
    Cela permet d'encoder le mot de passe de la même manière qu'il est dans LDAP.
    D'ailleurs, j'ai vérifié avec un logiciel et les mots de passe sont les même.

    J'en viens donc à la conclusion que la recherche en PHP a un problème. Mais cela ne vient pas de mon filtre car sous le logiciel, la recherche me retourne un enregistrement, et non sous mon application en PHP.

    Voici le bout de code concerné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                                            $filtre = "(&(uid=".$nom_user.")(userPassword=".$mdp_user."))";
    					$restriction = array("uid", "userPassword");
     
    					$sr = ldap_search($ds, $rootdn, $filtre, $restriction);
    					$tab_result = ldap_get_entries($ds, $sr);
     
    					if (ldap_count_entries($ds, $sr) == 1)	
    					{
    							echo $tab_result[0]["uid"][0];	
    					}	
    					else
    					{
    							echo "erreur";
    					}
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    L'utilisateur utilisé pour votre connexion LDAP a-t-il bien accès à ce genre d'informations (je fait référence à l'attribut userPassword) ? Etes-vous certain du format (genre espace entre {MD5} et le hash ou autres) ? Avez-vous des messages d'erreurs quelconques ?


    Julp.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Oui, l'utilisateur a bien les droits.

    Je viens de résoudre mon problème : le 2e paramètre de la fonction ldap_search() était incorrect. J'avais mis un faux chemin de recherche.

    Merci de vos réponses.
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème envoi mail via PHP
    Par Bizoo dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 17/10/2011, 14h15
  2. Problème envoi mail via PHP
    Par Bizoo dans le forum IIS
    Réponses: 4
    Dernier message: 07/09/2011, 11h07
  3. [ODBC] [DB2] Problème de connexion à une base de données sur un as400 via PHP sous Linux
    Par boo64 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 19/04/2006, 09h51
  4. [LDAP] problème connexion anonyme avec php à Active Directory
    Par anto48_4 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 02/03/2006, 16h50
  5. Authentification via un serveur LDAP
    Par jh0483 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 16/01/2006, 06h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo