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

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

nslookup
set types=all
_ldap._tcp

2. 验证AD的函数

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



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

01-29 01:45
查看更多