如何从MVC中的活动目录获取用户列表?

时间:2017-06-06 06:57:27

标签: model-view-controller active-directory ldap

我正在尝试从活动目录中获取用户名。我使用下面的代码,它给了我一些人的用户名,但它不是全部。有缺少的名字。我错了什么?我是Mvc和ldap的新人。有人可以帮帮我吗?

   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);


    }

1 个答案:

答案 0 :(得分:0)

更改

searcher.Filter = "(&(objectClass=user)(displayname=*))";

searcher.Filter = "(objectClass=user)";

并非每个用户都必须拥有显示名称。 另请阅读samAccountName属性