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

Langage PHP Discussion :

php avec ldap connection


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Points : 289
    Points
    289
    Par défaut php avec ldap connection
    Bonjour a tous
    je suis pas sur d'etre au bon endroit..je tente:
    Je souhaite me connecter a un active directory depuis un LINUX via un script PHP, recuperer des données et les formatter en XML.

    J'ai fouiner un peu et j'ai creer un script qui a l'air de marcher mais j'ai aucun resultat. Voici de script:

    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
    <?php
     
    // specify the LDAP server to connect to
    $conn = ldap_connect("localhost") or die("Could not connect to server");
     
    // bind to the LDAP server specified above
    $r = ldap_bind($conn) or die("Could not bind to server");
     
    // start searching
    // specify both the start location and the search criteria
    // in this case, start at the top and return all entries
    $result =ldap_search($conn,"dc=domaine,dc=com", "(sn=*)")
    or die ("Error in searchquery");
     
    $info = ldap_get_entries($conn, $result);
    // iterate over array and print data for each entry
    for ($i=0; $i<$info["count"]; $i++)
    {
        echo "dn is: ". $info[$i]["dn"] ."<br>";
        echo "first cn is: ". $info[$i]["cn"][0] ."<br>";
        echo "first email address is: ". $info[$i]["mail"][0] ."<p>"; }
     
    // print number of entries found
    echo "Number of entries found: " . ldap_count_entries($conn, $result) .
    "<p>";
     
    // all done? clean up
    ldap_close($conn);
    ?>

    j'ai les parametre localhost et domaine...
    Ensuite j'ai ceci comme fichier de config, la on voit le nom des champs:

    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
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    	<appSettings>
    		<add key="ConnectionString" value="Server=XXXX; Database=SAGA;User ID=XXXXX;Password=XXXXX;timeout=30;" />
    		<add key="LDAP_Path" value="LDAP://DC=garrigues,DC=com" />
    		<add key="SMTP_Server" value="ESMADEX306.garrigues.com" />
    		<add key="SMTP_Destination" value="xxxxxxxxx" />
    		<add key="ReportExceptionsToOperator" value="False" />
    		<!-- Claves para los propiedades de AD del Empleado -->
    		<add key="AD_EmployeeID" value="extensionattribute15" />
    		<add key="AD_DomainUser" value="samaccountname" />
    		<add key="AD_EmployeeName" value="name" />
    		<add key="AD_EMail" value="mail" />
    		<add key="AD_IdSociedad" value="extensionattribute1" />
    		<add key="AD_IdDepartamento" value="extensionattribute8" />
    		<add key="AD_IdOficina" value="physicaldeliveryofficename" />
    		<add key="AD_Area" value="AD_Areae" />
    		<add key="AD_Categoria" value="extensionattribute4" />
    	</appSettings>
    </configuration>
    Lorsque je l'execute en ligne de commande: php -a toto.php
    ca me renvoie que y'a 0 resultats...
    Alors ma question est: le filtre de recherche est il bien?
    j'ai ceci: "(sn=*) mais je sais pas du tout si c'est le bon parametre...
    Un peu d'aide?
    Merci

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Je ne sais pas si cela peut t'aider, concernant le filtre je ne vois rien à redire.

    je te file le code d'un script que j'utilise pour verifier si un compte existe ou pas sur un annuaire ldap.

    fichier index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    <form action="action.php" method="post">
     <p>Saisir un nom d'utilisateur : <input type="text" name="username" /></p>
     <p><input type="submit" value="check"></p>
    </form>
    fichier action.php
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <?php
     
    // Eléments d'authentification LDAP
    $ldaprdn  = 'admindudomaine';     // DN ou RDN LDAP
    $ldappass = 'motdepasse';  // Mot de passe associé
     
    // Connexion au serveur LDAP
    $ldapconn = ldap_connect("NomduserveurAD.domain.region")
        or die("Impossible de se connecter au serveur LDAP.");
     
    if ($ldapconn) {
     
        // Connexion au serveur LDAP
        $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
     
        // Vérification de l'authentification
        if ($ldapbind) {
            echo "Connexion LDAP réussie..."."<br><br>";
     
            $dn = "DC=domain,DC=FR";
            $person = $_POST['username'];
    	$filtre="(|(sn=$person*)(cn=$person*))";
    	$restriction = array( "cn", "sn", "mail");
    	$sr=ldap_search($ldapconn, $dn, $filtre, $restriction);
    	$info = ldap_get_entries($ldapconn, $sr);
    	print $info["count"]." enregistrements trouves"."<br><br>";
     
    echo  "Affichage des données des ".$info["count"]. " entrées trouvées :"."<br><br>";
     
     
    echo "<table>";
    	   for ($i=0; $i<$info["count"]; $i++)
    		   {
                    echo "<tr>";
    		echo  "<td>".$info[$i]["dn"]."</td>";
    		echo  "Nom (sn) : ". $info[$i]["sn"][0] . "<br>";
    		echo  "Prénom (cn) : ". $info[$i]["cn"][0] . "<br>";
                    echo  "<td>".$info[$i]["cn"][0]."</td>";
     
                    echo "</tr>"; 
                       }
     
    	 //  echo  "<p> ... Fermeture de la connexion";
     
    	ldap_close($ldapconn);
        } else {
            echo "Connexion LDAP échouée...";
        }
    }
    echo "</table>";
     
    ?>

    Si cela t'aide et bien tant mieux ^^

  3. #3
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Points : 289
    Points
    289
    Par défaut
    Salut
    oui ca m'aide....c'est super ton code, j'ai essayé et v'la que ca marche.
    Merci encore

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Fait voir la version finale stp

    justement tu pourrais m'aider a ton tour
    reussierais tu as remonter l'option ou l'attribut
    du verrouillage des comptes ?

    c'est le 'isaccountloacked' me semble

    Cordialement

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

Discussions similaires

  1. [MySQL] php avec ldap
    Par merymelody dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/06/2012, 15h19
  2. php avec ldap et variables de sessions
    Par ldiaz dans le forum Langage
    Réponses: 2
    Dernier message: 28/03/2012, 08h47
  3. [Configuration] PHP avec le protocole LDAP
    Par adel.87 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 24/02/2008, 01h08
  4. [MySQL] connexion avec mysql-connect via php
    Par comme de bien entendu dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/05/2007, 18h47
  5. auth apache avec ldap et php
    Par InDaWinD dans le forum Langage
    Réponses: 2
    Dernier message: 17/07/2006, 13h09

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