程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#實現AD域認證用戶源代碼

C#實現AD域認證用戶源代碼

編輯:C#入門知識

 

public bool IsPass(string userAccount, string password)

        {

 

                    string DomainName = “DC=SYQUEYRY,DC=COM,DC=CN”;

                    string ADPath = “LDAP://SYQUEYRY.COM.CN”;

                    string ADDomain = “SYQUEYRY”;

                    //獲得當前域中的路徑

                    string _ADPath = ADPath + "/" + ADDomain;

 

                    string domainAndUsername;

                    bool hasDomain = false;

                    if (userAccount.StartsWith(DomainName, StringComparison.CurrentCultureIgnoreCase))

                    {

                        hasDomain = true;

                    }

                    if (hasDomain)

                    {

                        domainAndUsername = userAccount;

                    }

                    else

                    {

                        domainAndUsername = DomainName + @"\" + userAccount;

                    }

                    DirectoryEntry entry = new DirectoryEntry(_ADPath, domainAndUsername, password);

                    DirectorySearcher search = new DirectorySearcher(entry);

                    if (hasDomain)

                    {

                        userAccount = userAccount.Substring(DomainName.Length + 1);

                    }

                    search.Filter = "(sAMAccountName=" + userAccount + ")";

                    search.PropertiesToLoad.Add("displayName");

                    SearchResult adUser = null;

                    try

                    { www.2cto.com

                        adUser = search.FindOne();

                        if (adUser == null)

                        {

                            _error = "域認證失敗";

                        }

                        else

                        {

                            if (Convert.ToInt32(adUser.Properties["userAccountControl"][0]) == 2)

                            {

                                _myUser = new MyUser(userAccount, password, adUser.Properties["displayName"].ToString());

                            }

                            else

                            {

                                _error = "此用戶已禁用";

                            }

                            adUser = null;

                        }

                    }

                    catch (Exception ex)

                    {

                        _error = ex.Message;

                        adUser = null;

                    }

                    finally

                    {

                        entry.Close();

                        entry = null;

                        search.Dispose();

                        search = null;

                    }

                    return adUser != null;

}

 

 

 

作者 賈世義

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved