Неверный синтаксис DN LDAP - PullRequest
       31

Неверный синтаксис DN LDAP

1 голос
/ 22 января 2010
string path = "LDAP://192.168.0.20/CN=users,DC=company,DC=ltm,DC=dom";

DirectoryEntry dir = new DirectoryEntry(path, admin, pass, AuthenticationTypes.ServerBind);

object value = dir.Properties["description"].Value;
dir.Properties["description"].Value = "test";
dir.CommitChanges();

Код генерирует исключение COMException: «Неверный синтаксис DN» в dir.Properties [«description»]. Значение

Если я не укажу имя пользователя и пароль и заменю инициализацию DirectoryEntry на:

DirectoryEntry dir = new DirectoryEntry(path);
dir.AuthenticationType = AuthenticationTypes.ServerBind;

Затем я получаю исключение UnauthorizedAccessException в CommitChanges.

Любые идеи о том, что может быть не так, приветствуются.

Ответы [ 2 ]

1 голос
/ 22 января 2010

Вы пробовали без указания AuthenticationTypes?

Так же, как:

DirectoryEntry dir = new DirectoryEntry(path, admin, pass);
0 голосов
/ 22 января 2010

Ну, вы получите UnauthorizedAccess, если попытаетесь войти без пароля и имени пользователя.

На самом деле это зависит от того, как настроен сервер LDAP, но, по-видимому, это не разрешает анонимный доступ.

Я думаю, что путь должен быть определен без IP-адреса, как LDAP: // CN = пользователи, DC = компания, DC = ltm, DC = dom, но я не использую в .NET, поэтому я не могу сказать для точно.

...