【发布时间】:2016-10-08 08:22:17
【问题描述】:
我尝试编写一个程序来获取可用DirectoryEntry 中的所有属性
// create LDAP connection object
DirectoryEntry myLdapConnection = createDirectoryEntry();
// create search object which operates on LDAP connection object
// and set search object to only find the user specified
DirectorySearcher search = new DirectorySearcher(myLdapConnection);
search.Filter = "(cn=" + username + ")";
// create results objects from search object
SearchResult result = search.FindOne();
if (result != null)
{
// user exists, cycle through LDAP fields (cn, telephonenumber etc.)
ResultPropertyCollection fields = result.Properties;
foreach (String ldapField in fields.PropertyNames)
{
// cycle through objects in each field e.g. group membership
// (for many fields there will only be one object such as name)
foreach (Object myCollection in fields[ldapField])
Console.WriteLine(String.Format("{0,-20} : {1}",
ldapField, myCollection.ToString()));
}
}
else
{
// user does not exist
Console.WriteLine("User not found!");
}
当我尝试在一个用户下执行此过程时,它会返回一个属性列表,但是当我尝试在另一个用户下执行此过程时,它会返回不同数量的属性。
我需要什么样的授权才能获得所有的属性?
提前致谢
科比
【问题讨论】:
标签: .net active-directory ldap