2010-12-01 68 views
3

有人可以解釋ldap字符串部分的組成。解釋了ldap字符串的部分「LDAP:// DC = amrs,DC = win,DC = ml,dc = COM」

一個我是:

string strSQL = "SELECT mail FROM 'LDAP://DC=amrs,DC=win,DC=ml,dc=COM' WHERE samaccountname = '" + UserName.Replace(@"AMRS\", "") + "'"; 

這得到一個電子郵件爲特定的用戶名。現在我需要從ldap查詢中獲取其他信息,但無法獲得正確的設置,而且我也不知道ldap設置中的值是什麼。 「LDAP:// DC = amrs,DC = win,DC = ml,dc = COM」

任何人都可以向我解釋這個嗎?

+0

我不知道這是否有助於鏈接到Richard Mueller的文章http://www.petri.co.il/ldap_search_samples_for_windows_2003_and_exchange.htm – johnny 2010-12-01 15:18:49

回答

16

LDAP字符串中的DC=前綴代表域組件(dc)。這些是組成LDAP服務器域的部分。這些是固定的,需要用於該服務器上的任何對象。

在「DNS風格」,這將是:(something).amrs.win.ml.com(如服務器名,計算機名等)

理查德·穆勒有一個great post解釋LDAP綁定字符串中最常見的前綴 - 這樣的東西dc=ou=(組織單位)或cn=(通用名稱)。

+3

+1。 – 2012-06-01 19:11:18

0

這取決於您的特定LDAP模式。試試像JXplorer這樣的LDAP瀏覽器來了解Schema的結構。這對嘗試這樣的查詢也很好。

DC是域組件的縮寫。 LDAP:URL描述了特定服務器上的子樹。您的where子句查詢該匹配的屬性samaccountname的條目。

0

您只需向LDAP服務器發出查詢。像其他任何東西一樣,它有它自己的查詢格式。我不會稱之爲語言,但它肯定必須格式正確。您需要找到關於LDAP的基本教程以及可以在LDAP目錄中查找的組件,例如Windows。您還可以看看項目是這樣的:

Active Directory LDAP Query by sAMAccountName and Domain

,看看如何做事和學習的榜樣。對我來說,它有點像正則表達式,儘管不是很接近晦澀難懂,如果我需要某些東西,每次都必須查看它,但至少我可以在看到它時識別部件,例如在DC上,我可能有dc = mydomain, DC =組織。我知道通過查看這是我開始查詢的最高級別。從那裏我必須查看它。