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 fonction ldap


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 314
    Points : 206
    Points
    206
    Par défaut [LDAP] problème fonction ldap
    Bonjour, j'ai fait une fonction ldap afin de récupérer le login d'une personne selon son nom dans l'Active Directory.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    function recup_login($name)
    {
      // Connexion à l'Active Directory
      $base_dn = "dc=****,dc=fr";
      $ad = ldap_connect("***")
            or die("Impossible de se connecter à l'AD!");
     
      ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
      ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
      ldap_set_option($ad, LDAP_OPT_SIZELIMIT, 0);
     
      $bd = ldap_bind($ad,"CN=SvcReaderADIntranet,OU=Intranet,OU=Applications,DC=***,DC=fr","****")
            or die("Couldn't bind to AD!");
     
      $filter = "(name=".$name.")";
      if($name!="")
      {
     
          $result = ldap_search($ad, $base_dn,$filter);
          if ($result)
          {
     
              $entries = ldap_get_entries($ad, $result);
     
              if ($entries["count"]!=0)
              {
                  echo "mon tableau n'est pas vide";
                  //Récupération du login de la personne
                  $login = $entries[0]['sAMAccountName'][0];
                  return $login;
              }
          }
      }
      return false;
    }
    echo $recup_login('Dupont Pierre');
    J'ai seulement à l'affichage : mon tableau n'est pas vide donc tous mes tests sont fait correctement.
    Quelqu'un aurait une idée ?

    Merci

  2. #2
    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 777
    Points
    17 777
    Par défaut
    Comme mentionné dans la FAQ, les index du tableau renvoyé par la fonction ldap_get_entries sont écrits en minuscules. Toutefois, si le problème perdure, appliquer la fonction print_r ou var_dump sur ce tableau afin de savoir ce qu'il renvoie très précisément (figure aussi dans la FAQ ).


    Julp.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 314
    Points : 206
    Points
    206
    Par défaut
    Je n'ai pas mis samaaacountname en miniscule car pour vérifier si ma fonction était bonne j'ai fait un test avec l'email.
    Lorsque que je met mail je récupére l'email et lorsque je mets Mail je ne récupérere rien.
    Je ne comprends pas pourquoi je n'arrive pas à récupérer le login windows.

    Quelqu'un aurait déja eu ce problème ?

    Merci

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 314
    Points : 206
    Points
    206
    Par défaut
    Après moultes investigation j'ai réussi à créer la bonne fonction.
    La voilà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    function recup_login($name)
    {
      // Connexion à l'Active Directory
      $base_dn = "****,dc=fr";
      $ad = ldap_connect("dc2000")
            or die("Impossible de se connecter à l'AD!");
     
      ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
      ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
      ldap_set_option($ad, LDAP_OPT_SIZELIMIT, 0);
     
      $bd = ldap_bind($ad,"CN=SvcReaderADIntranet,OU=Intranet,OU=Applications,DC=****,DC=fr","****")
            or die("Couldn't bind to AD!");
     
      $filter = "(CN=$name)";
      if($name!="")
      {
     
          $result = ldap_search($ad, $base_dn,$filter);
          if ($result)
          {
     
              //$entries = ldap_get_entries($ad, $result);
              $info = ldap_get_entries($ad, $result);
     
              for ($i=0; $i<$info["count"]; $i++)
              {
     
     
                    for ($ii=0; $ii<$info[$i]["count"]; $ii++)
                    {
                      if($info[$i][$ii]=='samaccountname')
                      {
                        $attrib = $info[$i][$ii];
                        return $info[$i][$attrib][0];
                      }
                    }
     
              }
          }
      }
      return false;
    }

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

Discussions similaires

  1. [LDAP] Problème avec la fonction ldap_add
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 12/06/2008, 15h04
  2. JNDI-LDAP - problème d'affichage de groupes
    Par sangei dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 20/04/2006, 14h38
  3. LDAP - Problème pour récupérer l'uid
    Par sangei dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 16/11/2005, 13h56
  4. LDAP : Problème persistant de connexion à un serveur LDAP!!!
    Par onouiri dans le forum Développement
    Réponses: 11
    Dernier message: 15/11/2005, 19h05
  5. [EasyPHP] Activer les fonctions LDAP sur EasyPHP 1.8
    Par gregfly26 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 24/10/2005, 16h13

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