如何使用Active Directory电子邮件填充自动完成框?

时间:2015-03-26 13:04:28

标签: asp.net-mvc active-directory

我正在寻找从活动目录中获取电子邮件和电子邮件组列表的方法。该列表将用于填充自动填充文本框,与Outlook中的相同。 你有没有使用过Asp.Net MVC做过类似的事情?

1 个答案:

答案 0 :(得分:2)

我之前在一个项目中做过这个,我认为你需要采取以下几个步骤:

  1. 为您的域创建目录条目
  2. 创建目录搜索器并使用过滤器
  3. 对其进行初始化
  4. 使用之前的过滤器
  5. 创建搜索集合
  6. 迭代您的搜索集合
  7. 获取当前迭代的属性
  8. 从物业收藏中收取您的电子邮件
  9. 代码示例:

      DirectoryEntry dir = new DirectoryEntry("LDAP://" + YourDomain, LoginUsername, LoginPassword);
      DirectorySearcher search = new DirectorySearcher(dir);
      search.Filter = "(&(objectClass=user)(objectCategory=person))";
      SearchResultCollection searchResultCollection = search.FindAll();
    
    
    
    if (searchResultCollection != null)
    {
       for (int i = 0; i < searchResultCollection.Count; i++)
       { 
           SearchResult crt= searchResultCollection[i];
           PropertyCollection properties= crt.GetDirectoryEntry().Properties;
    
           // get email from properties["email"].Value
       }
    }
    

    一些有用的链接:firstsecondthird