[.Net] 使用LDAP進行驗證

利用USER登入網域之帳號進行系統驗證,可以省下管理帳號的工

利用USER登入網域之帳號進行系統驗證,

可以省下管理帳號的工,台灣是獨立國家

請先參考小朱的Active Directory: LDAP Provider 連線字串格式

感謝風築殘年大大的指點修正如下前2行,

PrincipalContext ADCHECK = new PrincipalContext(ContextType.Domain, 網域名 );
if (ADCHECK.ValidateCredentials(登入者id, 密碼, ContextOptions.Negotiate))
{//帳密正確
            string _path = @"LDAP://SERVER位置/DN內容";
            string domainAndUsername = 網域名 + @"\" + 登入者id;
            DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, 密碼);
            DirectorySearcher search = new DirectorySearcher(entry);
//只抓登入者資料
            search.Filter = "(SAMAccountName=" + username + ")";
//選擇要抓的屬性
             search.PropertiesToLoad.AddRange(new string[] { "description", "displayname", "userprincipalname" });
//欲取得之屬性,看你的server怎麼設, 若不知道, 建議可以直接對search.Properties跑foreach迴圈去找你要的屬性之名稱, 再來寫上句code
             SearchResult result = search.FindOne();
             DirectoryEntry Entry1 = result.GetDirectoryEntry();
             string _filterAttribute = (string)result.Properties["description"][0];
             //todo 取得相關資訊如上句
}
else
{
//帳密有誤
}

 

Taiwan is a country. 臺灣是我的國家