RosettaCodeData/Task/Active-Directory-Search-for-a-user/D/active-directory-search-for-a-user.d
2018-06-22 20:57:24 +00:00

28 lines
531 B
D

import openldap;
import std.stdio;
void main() {
// connect to server
auto ldap = LDAP("ldap://localhost");
// search for uid
auto r = ldap.search_s("dc=example,dc=com", LDAP_SCOPE_SUBTREE, "(uid=%s)".format("test"));
// show properties
writeln("Found dn: %s", r[0].dn);
foreach(k, v; r[0].entry)
writeln("%s = %s", k, v);
// bind on found entry
int b = ldap.bind_s(r[0].dn, "password");
scope(exit) ldap.unbind;
if (b)
{
writeln("error on binding");
return;
}
// do something
...
}