Momenteel ben ik bezig met het ontwikkelen van een koppeling tussen een LDAP-store en een documentengenerator, met als doel het synchroniseren van de gebruikers. Deze koppeling moet ontwikkeld worden in VB6. Helaas heb ik geen ervaring met LDAP en relatief weinig met VB6, dat helpt dus niet echt mee.
Ik probeer verbinding te krijgen met de LDAP-store met behulp van de volgende code:
Bovenstaand codevoorbeeld is op basis van een SSL-verbinding, maar zowel bij dit voorbeeld als bij een niet-SSL-verbinding met user en password "anoniem" (poortnummer 389 ipv 636 en properties "Encrypt Password en "ADSI Flag" weggelaten) werkt het niet. De volgende foutmelding doet zich voor:
-2147217865: Search table does not exist.
Wanneer ik de searchbase weglaat om fouten daarin uit te sluiten krijg ik de foutmelding:
-2147463168: Bad pathname.
Via een LDAP-browser krijg ik wel gewoon verbinding met de LDAP-store. Verder heb ik geprobeerd in .NET verbinding te krijgen, dit ging ook zonder problemen met de volgende code:
De volgende sites heb ik als hulp gebruikt:
http://rulink.rutgers.edu/ldap-vb.html
http://www.freevbcode.com/ShowCode.asp?ID=611
How To Use ADO to Access Objects Through an ADSI LDAP Provider
En natuurlijk Google, waar ik helaas ook niet echt iets kon vinden.
Heeft iemand van jullie misschien een idee waarom ik geen verbinding kan krijgen? Zie ik iets over het hoofd?
Ik probeer verbinding te krijgen met de LDAP-store met behulp van de volgende code:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
| path = "LDAP://xx.xxx.xxx.xxx:636/" Set conn = CreateObject("ADODB.Connection") conn.Provider = "ADSDSOObject" conn.Properties("User ID") = "USER_ID" conn.Properties("Password") = "PASSWORD" conn.Properties("Encrypt Password") = True conn.Properties("ADSI Flag") = 34 conn.Open "ADs Provider" Set rs = conn.Execute("<" & path & "ou=Some,ou=KindOf,o=Searchbase>;(objectclass=*);name;subtree") |
Bovenstaand codevoorbeeld is op basis van een SSL-verbinding, maar zowel bij dit voorbeeld als bij een niet-SSL-verbinding met user en password "anoniem" (poortnummer 389 ipv 636 en properties "Encrypt Password en "ADSI Flag" weggelaten) werkt het niet. De volgende foutmelding doet zich voor:
-2147217865: Search table does not exist.
Wanneer ik de searchbase weglaat om fouten daarin uit te sluiten krijg ik de foutmelding:
-2147463168: Bad pathname.
Via een LDAP-browser krijg ik wel gewoon verbinding met de LDAP-store. Verder heb ik geprobeerd in .NET verbinding te krijgen, dit ging ook zonder problemen met de volgende code:
C#:
1
2
3
4
5
| DirectoryEntry entry = new DirectoryEntry("LDAP://xx.xxx.xxx.xxx:389/ou=Some,ou=KindOf,o=Searchbase", "anonymous", "anonymous", AuthenticationTypes.Anonymous); DirectorySearcher search = new DirectorySearcher(entry); foreach (SearchResult result in search.FindAll()) MessageBox.Show(result.GetDirectoryEntry().Path); entry.Close(); |
De volgende sites heb ik als hulp gebruikt:
http://rulink.rutgers.edu/ldap-vb.html
http://www.freevbcode.com/ShowCode.asp?ID=611
How To Use ADO to Access Objects Through an ADSI LDAP Provider
En natuurlijk Google, waar ik helaas ook niet echt iets kon vinden.
Heeft iemand van jullie misschien een idee waarom ik geen verbinding kan krijgen? Zie ik iets over het hoofd?