C#DirectoryEntry访问AD时出现“Returnreferencefromserver”异常测试2,DC=gov,DC=lk");使用(DirectorySearcherds=newDirectorySearcher(oDE)){ds.PropertiesToLoad.Add("name");ds.PropertiesToLoad.Add("userPrincipalName");ds.Filter="(&(objectClass=user))";SearchResultCollection结果=ds.FindAll();foreach(SearchResultresultinresults){Console.WriteLine("{0}-{1}",result.Properties["name"][0].ToString(),result.Properties["userPrincipalName"][0].ToString());在SearchResultCollectionresults=ds.FindAll();我得到一个异常:从服务器返回的建议为什么我会得到那个异常,这是什么意思?可能你提供的路径不对。查看。我会推荐文章Howto:(Almost)EverythinginActiveDirectoryviaC#,它确实帮助我过去处理AD。当AD服务器没有他们请求的信息但知道另一台服务器有它时,它们会发送引用。它通常发生在受信任的环境中,其中DC可以引用受信任域中的DC。在您的情况下,您只是指定一个域,依赖于自动发现要使用的域控制器。我认为您应该尝试找出哪个域控制器正在用于查询,并查看该控制器是否实际包含请求的信息。如果您提供有关AD设置的更多信息(包括任何信任/子域、全局目录和域控制器的DNS资源记录),将会更容易为您提供帮助。这是问题的答案。原因是我的LDAP字符串错误。尝试{stringadServer=ConfigurationManager.AppSettings["Server"];字符串adDomain=ConfigurationManager.AppSettings["域"];stringadUsername=ConfigurationManager.AppSettings["AdiminUsername"];字符串密码=ConfigurationManager.AppSettings["密码"];string[]dc=adDomain.Split('.');字符串dcAdDomain=string.Empty;foreach(dc中的字符串项目){if(dc[dc.Length-1].Equals(item))dcAdDomain=dcAdDomain+"DC="+item;elsedcAdDomain=dcAdDomain+"DC="+item+",";}DirectoryEntryde=newDirectoryEntry("LDAP://"+adServer+"/CN=Users,"+dcAdDomain,adUsername,password);DirectorySearcherds=newDirectorySearcher(de);ds.SearchScope=SearchScope.Subtree;ds.Filter="(&(objectClass=User)(sAMAccountName="+用户名+"))";如果(ds.FindOne()!=空)返回真;}catch(Exceptionex){ExLog(ex);}返回假;您可能还需要在DirectorySearcher上启动ReferralChasing–http://msdn.microsoft.com/en-us/library/ms180884(VS.80).aspx有同样的问题并设法修复它。就我而言,我在当前登录域中有一个AD组,其中包含来自子域的成员(用户)。我运行代码的服务器无权访问子域的域控制器(服务器以前从未需要访问子域)。我挣扎了一会儿,因为我的台式电脑可以访问域,所以在MMC插件(ActiveDirectory用户和计算机)中一切正常。希望能帮助别人。我知道这听起来很傻,但我自己最近遇到了这个问题,确保域控制器不是只读的。从服务器错误返回引荐来源网址通常意味着IP地址不是由连接字符串中提供的域托管的。有关更多详细信息,请参阅此链接:AD提供商返回了引荐来源网址在我的案例中,当我使用受信任域中的帐户通过SSO访问AD时,我看到了引荐来源网址。当我使用来自本地域的显式凭据进行连接时,问题就消失了。即我替换了DirectoryEntryde=newDirectoryEntry("blah.com");withDirectoryEntryde=newDirectoryEntry("blah.com","someguy@blah.com","supersecret");问题消失了。以上就是C#学习教程:C#访问AD时出现“从服务器返回引用”异常分享的所有内容,如果对大家有用还需要详细了解C#学习教程,希望大家点赞更多关注~本文来自网络合集,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
