簡體   English   中英

連接到C#.NET中的Active Directory服務器的問題

[英]problem connecting to Active Directory server in C# .NET

我目前正在用C#編寫一些軟件,需要連接到AD服務器並獲取一些用戶詳細信息。 當我使用下面的代碼進行連接時,它可以對付我連接的大多數AD服務器,但有一些地方失敗並出現“登錄失敗:未知用戶名或密碼錯誤”的錯誤。 我正在使用的服務器名稱/憑證肯定是正確的,因為我使用LDAP瀏覽器測試它們並且AD服務器使用標准安全性(端口389等)。 有人可以提供任何建議嗎?

干杯

蒂姆

DirectoryEntry d = new DirectoryEntry("LDAP://" + domain, admin_username, admin_password);

try
{
   object x = d.NativeObject;
}
catch
{
   throw;
}

編程.net / AD過去曾遇到過類似的問題。 我發現有用的一件事是使用LDAP查看器來查看我是否可以連接到某些服務器等。這樣,我至少可以確定它是否是.NET錯誤(可能是我的代碼),憑據錯誤等。

我使用了Softerra的LDAP查看器的免費/ lite版本( http://www.ldapbrowser.com/download.htm ),雖然我確信還有很多其他人可供選擇。 如果您嘗試此處列出的那個,請確保下載“LDAP瀏覽器”而不是“LDAP管理員”。 瀏覽器是免費的。

嘗試使用LDAP瀏覽器/查看器連接到您在代碼中遇到問題的同一LDAP路徑。 至少在第一步確定它是否是.NET /代碼問題時。 如果無法通過瀏覽器進行連接,則可以使用連接選項,例如端口,域(FQDN)等。

希望這可能有助於縮小范圍。

Active Directory至少允許三種不同的登錄名稱樣式:

  1. LDAP - 即LDAP DN。 例如:cn = JohnS,ou = Users,dc = example,dc = com
  2. NTLM。 例如:EXAMPLE \\ JohnS
  3. Kerberos主體名稱:例如:johns@example.com

但是,您不能像使用Windows框一樣只使用JohnS登錄。 這是一個非常常見的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM