alfa66
Messages postés1Date d'inscriptionmercredi 29 janvier 2003StatutMembreDernière intervention13 juin 2003
-
13 juin 2003 à 09:44
g2loq
Messages postés10Date d'inscriptionvendredi 12 juillet 2002StatutMembreDernière intervention15 mars 2005
-
2 mars 2005 à 15:18
SVP
Est il possible d'accéder à un annuaire LDAP via un programme DELPHI, et si oui :
quelles procédures , méthodes, etc doit on utiliser et comment ????????
padritoo2
Messages postés1Date d'inscriptionmardi 29 juin 2004StatutMembreDernière intervention30 juin 2004 30 juin 2004 à 08:37
bonjour, je voudrais savoir si tu as là réponse a la question ke tu as posé il y a maintenant un an.
j'ai aujourd'hui le meme probleme donc si tu pouvais éclairer ma lanterne ce serait une aide fort apreciable.
merci.
conn := CreateOleObject('ADODB.Connection');
com := CreateOleObject('ADODB.Command');
try
conn.Open ('Provider=ADSDSOObject; User Id=DOMAINE\LOGIN; Password=PWD;');
com.ActiveConnection := conn;
if sNom = '' then
begin
//rechercher login sur sPathLDAP='LDAP://nomServeurLdap' ou sPathLDAP='LDAP://nomServeurLdap/DC=...,DC=...,DC=...'
Com.CommandText :='select l,telephoneNumber,cn,mail,sn,sAMAccountName from '''+ sPathLDAP +''' where SamAccountName=''' + sLogin + '''' ;
end //if sNom = '' then
else
begin
//rechercher nom sur sPathLDAP='LDAP://nomServeurLdap' ou sPathLDAP='LDAP://nomServeurLdap/DC=...,DC=...,DC=...'
Com.CommandText :='select telephoneNumber,cn,mail,sn,sAMAccountName from '''+ sPathLDAP +''' where sn=''' + sNom + '''' ;
end; //else if sNom = '' then
//recuperation et mise en forme des données (séparer par separateur_champs=';' et separateur_ligne='|')
While Not rs.EOF do
begin
For i := 0 To rs.Fields.Count - 1 do
begin
If (VarIsArray(rs.Fields[i].Value)) And Not (VarIsNull(rs.Fields[i].Value)) Then
begin
s := ''; temp :rs.Fields[i] + IntToStr(i) + ' ' + rs.Fields[i].value;
For j := VarArrayLowBound(temp, 1) To VarArrayHighBound(temp, 1) do
begin
If (s <> '') Then s := s + ', ';
s := s + temp[j];
end;
chaine_resulat := chaine_resulat + s; //newLine.SubItems.Add(s);
end
Else
If (Not (VarIsNull(rs.Fields[i].Value))) Then
begin
If (s = '') Then s := s + IntToStr(i) + ' = ';
//s2 := rs.Fields[i]; //afficher le nom du champ non la valeur ?
chaine_resulat := chaine_resulat + rs.Fields[i].Value + separa ;
//memo1.Lines.Add (IntToStr(i) + ' = ' + rs.Fields[i].Value + separa); //newLine.SubItems.Add(rs.Fields[i].Value);
end
else chaine_resulat := chaine_resulat + separa ;
//memo1.Lines.Add (IntToStr(i) + ' = ' + separa);