如何从MVC中的活动目录获取用户列表?
问题描述:
我想从活动目录中获取用户名。我使用下面的代码,它给了我一些人的用户名,但它不是全部。有缺少的名字。我错了什么?我是Mvc和ldap的新手。任何人都可以帮助我?如何从MVC中的活动目录获取用户列表?
public ActionResult GetUserList()
{
DirectoryEntry entry = new DirectoryEntry("LDAP://domain.com", "username", "password");
DirectorySearcher searcher;
SearchResultCollection results;
searcher = new DirectorySearcher(entry);
searcher.Filter = "(&(objectClass=user)(displayname=*))";
searcher.SearchScope = SearchScope.Subtree;
List<string> list= new List<string>();
using (searcher)
{
results = searcher.FindAll();
foreach (SearchResult result in results)
{
string searchOK = result.Properties["displayname"][0].ToString();
list.Add(searchOK);
}
}
return View(list);
}
答
变化
searcher.Filter = "(&(objectClass=user)(displayname=*))";
到
searcher.Filter = "(objectClass=user)";
不是每个用户必须有一个显示名称。 请同时阅读samAccountName属性