Relation annuaire LDAP base MySql

Résolu
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009 - 28 déc. 2006 à 11:23
 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 !

8 réponses

Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009
28 déc. 2006 à 17:46
C'est bon j'ai réussi il fallait que j'insere la ligne :

ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3) ;
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 déc. 2006 à 14:54
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.
0
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009
28 déc. 2006 à 15:17
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 !
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 déc. 2006 à 15:21
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009
28 déc. 2006 à 15:30
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" ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 déc. 2006 à 16:13
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 ?
0
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009
28 déc. 2006 à 17:08
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 !
0
je ne comprend pas trop ou tu met le code ?!
0