详解C#使用AD(Active Directory)验证内网用户名密码

时间:2022-01-12 03:51:10

详解C#使用AD(Active Directory)验证内网用户名密码

1. 连到内网,找到AD的domain地址

?
1
2
3
nslookup
set types=all
_ldap._tcp

2. 验证AD的函数

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public bool ADLogin(string userName, string password)
    {
      // sample :
      // LDAP://xxx.com
      string domain = System.Configuration.ConfigurationManager.AppSettings["AD_Domain"];
       
      try
      {
        DirectoryEntry entry = new DirectoryEntry(domain, userName, password);
        object obj = entry.NativeObject;
        DirectorySearcher search = new DirectorySearcher(entry);
        search.Filter = string.Format("(SAMAccountName={0})", userName);
        search.PropertiesToLoad.Add("cn");
 
 
        SearchResult result = search.FindOne();
        if (result == null)
          return false;
      }
      catch (Exception ex)
      {
        log.Error(ex);
        return false;
      }
 
 
      return true;
    }

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/lan_liang/article/details/52554476