как аутентифицировать ldap, когда не присоединен к домену в Microsoft Active Directory с помощью c # - PullRequest
3 голосов
/ 12 мая 2009

По какой-то причине ldap и службы каталогов не работают, когда компьютер не присоединен к домену. Сообщения об ошибках .net домен недоступен. Кто-нибудь знает, что нужно сделать?

базовый ...

 domainAndUsername = domain + @"\" + username;
 entry = new DirectoryEntry(_path, domainAndUsername, pwd);
 entry.AuthenticationType = FindAuthTypeMicrosoft(authType);

... похоже, не работает при локальном входе на компьютер при попытке предоставить testdomain.com с кодом выше.

Несмотря на то, что я могу пинговать testdomain.com без проблем. Чем отличается или проблема?

Ответы [ 3 ]

3 голосов
/ 12 мая 2009

Этот код работал для меня в прошлом (хотя я признаю, что не могу сейчас его проверить):

DirectoryEntry entry = new DirectoryEntry("LDAP://server-name/DC=domainContext,DC=com");
entry.Username = @"DOMAIN\account";
entry.Password = "...";
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = "(&(objectClass=user)(sn=Jones))";
SearchResultCollection results = searcher.FindAll();

Самая сложная часть (для меня, во всяком случае) - выяснить детали "строки подключения". Я обычно полагаюсь на ADSI Edit и AD Explorer , чтобы помочь мне определить правильные значения. Softerra LDAP Browser - бесплатная версия немного старше, v2.6 и спрятана в разделе загрузки.

0 голосов
/ 12 мая 2009

я оставляю _path пустым. извините за мою проблему.

0 голосов
/ 12 мая 2009

Службы каталогов полагаются на ActiveDirectory. Таким образом, вам нужно добавить машину в домен или явно указать контроллер домена. Обратите внимание, что домен не означает доменное имя из системы доменных имен. Это означает домен ActiveDirectory.

...