用户名或密码不正确-8009030C:LdapErr:DSID-0C090579,注释:AcceptSecurityContext错误,数据52e,v3839

时间:2019-07-11 08:15:12

标签: c# .net authentication active-directory ldap

我正在尝试使用以下代码连接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

如果我直接登录,我可以使用相同的用户名和密码登录。 我尝试连接的广告与我正在运行的代码不同。如果我将测试广告更改为生产广告,则相同的代码可以正常工作

1 个答案:

答案 0 :(得分:1)

我认为这是关键:

  

我要连接的广告与运行代码的广告不同。

它可能正在尝试在您的域上对您进行身份验证,而不是另一个。确保您的LDAP路径包括用于其他域的服务器,而不仅仅是域的专有名称。服务器名称可以只是域的DNS名称。它应该看起来像这样:

"LDAP://DC=otherdomain,DC=com"

如果仅使用{{1}},它将尝试连接到当前计算机首先加入的域。如果两个域之间存在信任关系,那实际上是可行的,但是如果没有,则需要为它专门指定要连接的服务器名称。