活动目录 Active Directory

前些日子写了一个关于活动目录(Active Directory)的查询,总结了一些:开发语言是ASP.NET

1.首先记得要引用:using System.DirectoryServices;
                                    using System.DirectoryServices.ActiveDirectory;

2.我把活动目录的路径 登陆的用户名 密码放到了Web.config文件中

<appSettings>
  <add key="ADPath" value="LDAP://xa.xb/OU=xxx1,OU=xxxx2,OU=xxxxx3,DC=xa,DC=xb"/>

  其中xa.xb为你的域所在地址 OU=xxx1,OU=xxxx2为你的层级目录,且xxx1是最小的目录

<add key="ADUser" value="xxxx"/> 值为登陆这个域的用户名
    <add key="ADPassWord" value="xxxxx"/>值为登陆这个域的密码

 </appSettings>

3进行数据的查找,并把结果保存到一个表中

public static DataTable GetTable()
    {
        DataTable dt = new DataTable();//创建一个表
        try
        {
            DirectoryEntry myComany = new DirectoryEntry();
            myComany.Path = ConfigurationManager.AppSettings["ADPath"];//路径
            myComany.Username = ConfigurationManager.AppSettings["ADUser"];//用户名
            myComany.Password = ConfigurationManager.AppSettings["ADPassWord"];//密码

            创建查找
            DirectorySearcher mySearcher = new DirectorySearcher();
            mySearcher.SearchRoot = myComany;
            mySearcher.Filter = "(objectClass=user)";
            mySearcher.SearchScope = SearchScope.Subtree;
            mySearcher.PropertiesToLoad.Add("name");//所需属性
            mySearcher.PropertiesToLoad.Add("SAMAccountName");//;所需属性
            mySearcher.PropertiesToLoad.Add("distinguishedNAME");//所需属性
            SearchResultCollection myCollcet = mySearcher.FindAll();
            dt.Columns.Add("姓名", typeof(string));
            dt.Columns.Add("邮箱", typeof(string));
            dt.Columns.Add("单位", typeof(string));
            foreach (SearchResult myResult in myCollcet)
            {
                ResultPropertyCollection myProColl = myResult.Properties;
                DataRow dr = dt.NewRow();
                dr["姓名"] = myProColl["name"][0];
                dr["邮箱"] = myProColl["SAMAccountName"][0]";
                string[] sdis = myProColl["distinguishedNAME"][0].ToString().Split(',');
                dr["单位"] = sdis[1].Remove(0,3);
                dt.Rows.Add(dr);
            }
        }
        catch(Exception ex)
        {
            System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>alert('" + ex.Message.Trim('\n', '\r') + "')</Script>");
        }
        return dt;

}

4.数据绑定

 myTable = GetTable();

 GridView1.Datasoure=myTable;

 GridView1.DataBind();

这就是个比较简单的活动目录的应用,希望对大家有用。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值