我需要连接到我可以访问但只能通过LDAPS访问的外部LDAP服务器。
我提供的信息是用户名,服务器,密码。我需要查询和检索所有用户的列表。我有详细信息的格式是
我编写的以下代码将成功验证我的用户帐户,但我现在需要枚举我遇到问题的所有用户。理想情况下,这将是目录中的所有用户,而不是特定OU中的所有用户。同样,我没有这个服务器的任何OU的完全限定路径。服务器有一个自签名证书,这就是为什么在我的例子中我特意告诉它接受证书。
int port = secured ? 636 : 389;
LdapConnection connection = new LdapConnection(new LdapDirectoryIdentifier(ldapServer, port, false, false));
if (secured)
{
connection.SessionOptions.ProtocolVersion = 3;
connection.SessionOptions.SecureSocketLayer = true;
}
connection.Credential = new NetworkCredential(username, password);
connection.AuthType = AuthType.Basic;
connection.SessionOptions.VerifyServerCertificate += (conn, cert) => { return true; };
connection.Bind();
return connection;
答案 0 :(得分:2)
所以答案是在Performing a Simple Search System.DirectoryServices.Protocols(S.DS.P)简介的样本中:
// create a search filter to find all objects
string ldapSearchFilter = "(&(objectCategory=person)(objectClass=user))";