Получение всех учетных записей пользователей на доступном внешнем сервере Active Directory через LDAPS - PullRequest
2 голосов
/ 07 февраля 2012

Мне нужно подключиться к внешнему серверу LDAP, который доступен для меня, но только через LDAPS.

Информация, которую я имею в виду, это имя пользователя, сервер, пароль. Мне нужно запросить и получить список всех пользователей. Формат, в котором у меня есть детали,

  • Имя пользователя: домен \ имя пользователя
  • Пароль: {пароль}
  • Домен: удаленный. {Домен} .net.au

Следующий код, который я написал, успешно проверит мою учетную запись, но теперь мне нужно перечислить всех пользователей, из-за которых у меня возникают проблемы. В идеале это должны быть ВСЕ пользователи в каталоге, а не из определенного подразделения. Опять же, у меня нет полностью определенных путей к каким-либо подразделениям для этого сервера. Сервер имеет самозаверяющий сертификат, поэтому в своем примере я специально говорю ему, чтобы он принял сертификат.

        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;

1 Ответ

2 голосов
/ 08 февраля 2012

Таким образом, ответ находится в Выполнение простого поиска образец введения в System.DirectoryServices.Protocols (S.DS.P) с:

// create a search filter to find all objects
string ldapSearchFilter = "(&(objectCategory=person)(objectClass=user))";
...