如何从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属性