ggbce Posté(e) le 16 mai 2007 Partager Posté(e) le 16 mai 2007 Salut, Je suis débutant dans le domaine des requêtes LDAP et je veux créer une petite interface Web en ASP pour mettre à jour et consulter l'annuaire LDAP (Active Directory) de mon domaine NT (sur un Windows Server 2003). Je suis capable de récupérer (lire) les entrées avec des requêtes LDAP sans trop de problèmes (je vois les noms, OU, DC, etc.) Mais j'ai un problème pour écrire dans la fiche des utilisateurs pour les mettre à jour, Par exemple je voudrais pouvoir mettre à jour le numéro de téléphone, adresse postale, adresse de courrier, etc. (ce qui permettrait à notre secrétaire d'ajouter les informations des employés et finalement utiliser LDAP convivialement avec Outlook pour carnet d'adresse). Voici le code utilisé pour la requête (ce n'est qu'en phase de test je n'est pas très joli encore ). Fichier nommé add-info.asp: <% @ LANGUAGE=VBSCRIPT %> <% Option Explicit %> <% If Request.Form("bouton") <> "" Then dim nom, Unite, numtel, utilisateur nom=Request.form("nom") Unite=Request.form("Unite") numtel=Request.form("numtel") Response.Write nom & "<br />" & vbcrlf Response.Write Unite & "<br />" & vbcrlf Response.Write numtel & "<br />" & vbcrlf Response.Write "LDAP://cn=" & nom & ",ou=" & Unite & ",dc=domaine,dc=com" & "<br /><br />" & vbcrlf If nom <> "" and Unite <> "" And numtel <> "" Then Set utilisateur = GetObject("LDAP://cn=" & nom & ",ou=" & Unite & ",dc=domaine,dc=com") utilisateur.Put "telephonenumber",numtel utilisateur.SetInfo Response.Write "Modification faite !!!" Else Response.Write "Un des champs est vide... Modification non faite<br />" & vbcrlf End If End If %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Modification du numéro de téléphone</title> </head> <body> <h1>Modification du numéro de téléphone</h1> <br /> <form name="form" method="post" action="add-info.asp"> Entrez le nom: <input name="nom" type="text" size="20" maxlength="50" /> <br /> Entrez le nom du OU: <input name="Unite" type="text" size="20" maxlength="50" /> <br /> Entrez le numéro de télphone: <input name="numtel" type="text" size="20" maxlength="50" /> <br /> <input type="submit" name="bouton" value="valider" /> </form> </body> </html> Lorsque je tape des mauvaises valeurs je suis bien retourné dans le ELSE, si c'est valide je reçois l'erreur: Jean Jojo Usagers du domaine 222-2222 LDAP://cn=Jean Jojo,ou=Usagers du domaine,dc=domaine,dc=com Active Directory erreur '80070005' Erreur d'accès général refusé /add-info.asp, ligne 21 Le nom, l'OU, et les DC sont bien valides. Est-ce que IIS me bloque en écriture, est-ce que LDAP me bloque en écriture ou bien je n'utilise pas une méthode valable pour envoyer la requête ? Je sais pas trop là... Merci de votre aide. ----------------------- Je vais ajouter ceci, que je viens d'y penser: Est-ce que pour une requête LDAP, qui est similaire à une requête SQL, il est possible de passer l'authentification en ligne de code ? Je pourrais utiliser une compte administraif de l'AD pour donner l'accès nécessaire. Lien vers le commentaire Partager sur d’autres sites More sharing options...
beuhbeuh Posté(e) le 21 mai 2007 Partager Posté(e) le 21 mai 2007 Il faut que l'utilisateur qui effectue la requête dans ton ldap ai les droit d'écriture sur ton AD... en l'occurrence dans la config par défaut c'est l'utilisateur iis qui va effectuer cette requête et évidemment, il n'a pas ce droit... En authentification windows intégré, ce serait l'utilisateur loggué sur le site, qui n'aurait pas les droits non plus (j'imagine, ou plutôt j'espère ). La solution est de configurer ton site pour utiliser une impersonation iis, c'est à dire donner, temporairement ou non, les droits d'un autre utilisateur au processus iis. Je te laisse en demander plus à google L'autre solution est de passer dans ta requête un login/mdp d'un utilisateur ayant les droits d'écriture sur ton ldap... Attention, de mémoire il est obligatoire de passer ces infos en clair, ce qui n'est pas trop recommandé, tu t'en doutes... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.