2013-08-06 8 views
0

Я искал ответ и не могу найти его, но, возможно, я его пропустил. У меня есть приложение WPF, и я использую PrincipalContext для подключения к MS AD. Моя машина разработки не подключена к домену, и я не могу связаться без проблем. Тем не менее, на нашем терминальном сервере мое приложение может подключаться только в том случае, если текущий зарегистрированный пользователь находится в группе «Администраторы домена», хотя я передаю действительные учетные данные конструктору PrincipalContext. Я попытался использовать мою учетную запись, учетную запись «служба» и даже учетную запись администратора.C# Active Directory Principalcontext Permissions

У меня это работает на моей машине развития, но не на нашем сервере терминалов:

PrincipalContext pc = new PrincipalContext(ContextType.Domain, "DC.mydomain.com", null, ContextOptions.SimpleBind | ContextOptions.ServerBind, Username, Password); 

На терминальном сервере, он вызывает исключение. Сообщение «Соединение невозможно установить». После дальнейшего расследования я обнаружил, что LDAP возвращает код ошибки 91, который я тоже посмотрел, но я все еще не могу заставить его подключиться. Я, должно быть, попытался передать все комбинации параметров в PrincipalContext.

Edit:

Я играл с ним немного. Я не могу заставить PrincipalContextor LdapConnection подключиться к серверу терминалов, но оба они работают на моей машине разработки. Единственное, что будет подключаться, - DirectoryEntry. Может быть, это даст больше подсказок?

Любые предложения?

+0

Вы пробовали ContextOptions.Signing ?? –

+0

Является ли ваша машина разработки попыткой поговорить с тем же доменом? Я предполагаю, что производственный DC не позволяет выполнять базовую проверку подлинности. –

+0

Подписание не работает. Я подключаюсь к одному домену ... Я указываю на тот же самый сервер. Я нахожусь в производственной сети, просто не присоединился к домену. –

ответ

0

Мне удалось выяснить это. Это была какая-то проблема с правами на папку, в которой я запускал приложение. Надеюсь, это может помочь кому-то в будущем.

+1

Какие разрешения вы должны были установить? Пожалуйста, предоставьте дополнительную информацию. –