如何在.net中为DirectorySearcher's SearchResult获取DN
本文关键字:SearchResult 获取 DN net 中为 DirectorySearcher | 更新日期: 2023-09-27 18:18:09
如何可靠地得到SearchResult
的DN
?
我们一直在使用SearchResult.Properties["dn"]
,但最近遇到了一个不支持这个的安装。这位客户有其他的应用程序,归结为调用Win32的ldap_get_dn
方法,但在。net中似乎没有相应的SearchResult
。
该解决方案需要跨LDAP服务器工作,而不是特定于activedirectory。
一开始不清楚,但我们后来发现SearchResult.Path
属性包含DN,可以对其进行解析。到目前为止,这在我们遇到的所有服务器上都是一致的。
SearchResult result;
...
string userDn = result.Path;
// typical Path is
// LDAP://my.ldap.server.com:39/CN=a,CN=b,OU=c
// we want to grab the part after the third '/'
int i = userDn.IndexOf('/', 7);
if (i >= 0 && userDn.Length > i + 1)
{
userDn = userDn.Substring(i + 1);
}
SearchResult。路径属性
http://msdn.microsoft.com/en-us/library/system.directoryservices.searchresult.path.aspxbase object
始终是一个专有名称,可通过LDAP搜索结果条目(但不是搜索结果引用)获得。但是,区别名不是属性。