Неверное имя пользователя или пароль-8009030C: LdapErr: DSID-0C090579, комментарий: ошибка AcceptSecurityContext, данные 52e, v3839 - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь подключить AD со следующим кодом

VMADProfile _VMADProfile = new VMADProfile();
DirectoryEntry searchRoot = new DirectoryEntry("Test AD LDAP Path", "DomainName\\username", "password");
directorySearcher.Filter = "(&(objectCategory=user)(samAccountName=" + username + "))";    
directorySearcher.PropertiesToLoad.Add("displayname");    
SearchResult one = directorySearcher.FindOne();

но это дает мне следующую ошибку

 The user name or password is incorrect.
8009030C: LdapErr: DSID-0C090579, comment: AcceptSecurityContext error, data 52e, v3839

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

1 Ответ

1 голос
/ 11 июля 2019

Я думаю, что это ключ:

Мой AD, который я пытаюсь подключить, отличается от того, в котором я запускаю код.

Вероятно, он пытаетсяаутентифицировать вас в своем домене, а не в другом.Убедитесь, что ваш путь LDAP включает в себя сервер для подключения к другому домену, а не только отличительное имя домена.Имя сервера может быть просто DNS-именем домена.Он должен выглядеть примерно так:

DirectoryEntry searchRoot = new DirectoryEntry("LDAP://otherdomain.com/DC=otherdomain,DC=com", "DomainName\\username", "password");

Если вы просто используете "LDAP://DC=otherdomain,DC=com", он попытается подключиться к домену, к которому присоединяется текущий компьютер.Это на самом деле сработает, если между двумя доменами есть доверие, но если нет, вам нужно указать ему имя сервера для подключения.

...