Relation annuaire LDAP base MySql [Résolu]

Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
Dernière intervention
7 janvier 2009
- - Dernière réponse :  ylarok - 11 janv. 2013 à 09:15
<hr style="COLOR: #d1d1e1" size="1" />
<!-- / icon and title -->
<!-- message -->

Bonjour,

je suis stagiaire en 2ieme année de BTS informatique de gestion.
Et on ma demandé de faire une application de gestion de parc informatique en PHP/MySql.

Jusque la tout va bien. J'ai généré une belle base avec plusieurs tables et relations, tout fonctionne pour le mieux.
Mais depuis hier, mon maitre de stage ma dis qu'il voulait relier la base Mysql que j'ai créé a leur annuaire LDAP. Et donc de supprimer la table "Utilisateurs" de ma base de données.

Je voulais savoir si il est possible de faire cela tout en gardant les memes relations, donc de considérer leur annuaire LDAP un peu comme une table.
Je n'y connais pas grand chose a LDAP, et cela me parait beaucoup plus compliqué que de recréer une table "utilisateurs", mais pour eux ça évite de rentrer 2 fois les utilisateurs ...

Merci de bien vouloir m'éclairer la dessus !
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
Dernière intervention
7 janvier 2009
3
Merci
C'est bon j'ai réussi il fallait que j'insere la ligne :

ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3) ;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de Johandev35
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
0
Merci
Tu peux très bien garder ta relation, en récupérant le CN par exemple comme référence dans ta table mysql, comme identifiant unique liant le LDAPet ta table.
Mais bon, il va falloir que tu te rencardes sérieusement sur LDAP...de toute manière.
Et en effet, taper directement dans le LDAp peut très bien se faire aussi.
Commenter la réponse de malalam
Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
Dernière intervention
7 janvier 2009
0
Merci
Donc je peux supprimer ma table, si je met le CN comme une clé étrangère dans les tables ou il y avait auparavant une relation avec une CIF (contrainte d'integrité fonctionnelle) ?
Mais pour les CIM (contraintes d'integrités multiples ) ? il doit donc y avoir une table intermédiaire entre la table concerné et LDAP ?
avec 2 clés étrangères, le CN et la clé primaire de la table concernée ?

Merci déja de ta réponse !
Commenter la réponse de Johandev35
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
0
Merci
Non non attends...si tu supprimes ta table, tu perds les relations de ta table! Forcément. Ton serveur mysql ne va pas aller magiquement communiquer avec le LDAP... ;-) C'est à toi de recréer les dépendances si tu en as. Et ça, c'est à coder.
Commenter la réponse de malalam
Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
Dernière intervention
7 janvier 2009
0
Merci
Donc il faut que je code les relations entre chaques tables et mon LDAP ?
Ou la seule solution est de rapatrier les données du LDAP dans ma table "utilisateurs" ?
Commenter la réponse de Johandev35
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
0
Merci
Ben étant donné que je ne sais pas ce que font tes tables, difficile de te répondre.
Tu as quoi comme tables pour ta gestion de parc info ?  quelle est la structure et quelles sont les contraintes ?
Commenter la réponse de malalam
Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
Dernière intervention
7 janvier 2009
0
Merci
J'ai finalement opté pour un rapatriement des données du LDAP dans une table "utilisateurs" a chaque fois que l'application ce lance, ce qui permettra un ajout automatique des utilisateurs qui ont été ajouté dans l'annuaire à la base de données.

Pour ce je dois donc me connecter à l'annuaire LDAP.
Voici le code qui est assez simple en soit :

<?php


// La séquence de base avec LDAP est
// connexion, liaison, recherche, interprétation du résultat
// déconnexion


$serveur='Nomdemonserveur';
$user='cn=Manager,o=NomEntreprise';
$pass='secret';
$ldapport = 389;


$ldapconn = ldap_connect( $serveur, $ldapport )
         or die( "Impossible de se connecter au serveur LDAP {$serveur}" );


if ($ldapconn) {


   //Connexion au serveur LDAP
   $ldapbind = ldap_bind($ldapconn,$user, $pass);


   // Identification
   if ($ldapbind) {
       echo "Connexion LDAP réussie";
   } else {
       echo "Connexion LDAP échouée";
   }
}
?>

et il me met cette erreure :

Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in c:\program files\easyphp1-8\www\projet\testconnexiondlap.php on line 18
Connexion LDAP échouée

Je ne comprend pas pourquoi, mon code parrait bon. Et j'arrive a me connecter avec les identifiants et le mots de passe via mon navigateur !
Commenter la réponse de Johandev35
0
Merci
je ne comprend pas trop ou tu met le code ?!
Commenter la réponse de ylarok

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.