Я искал ответ и не могу найти его, но, возможно, я его пропустил. У меня есть приложение 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. Может быть, это даст больше подсказок?
Любые предложения?
Вы пробовали ContextOptions.Signing ?? –
Является ли ваша машина разработки попыткой поговорить с тем же доменом? Я предполагаю, что производственный DC не позволяет выполнять базовую проверку подлинности. –
Подписание не работает. Я подключаюсь к одному домену ... Я указываю на тот же самый сервер. Я нахожусь в производственной сети, просто не присоединился к домену. –