2011-08-02 48 views
1

我正在嘗試與其他域設置LDAP連接代碼。我的Windows服務器2K3是域A.我想LDAP域B的一部分。現在,這裏是我做的:爲什麼LDAP查詢可以使用asp.net,但不能使用傳統的asp

test = "LDAP://CN=a,OU=Users,DC=Domain,DC=Domain" 
Set connAD=getobject(test) 

這給了錯誤「80072020」

同我在asp.net做的:

DirectoryEntry user = new DirectoryEntry("LDAP://CN=a,OU=Users,DC=Domain,DC=Domain"); 
DirectorySearcher ds = new DirectorySearcher(user); 

This works。

如果我將身份驗證機制從Integrated Windows更改爲Basic,則兩者都可以使用。我無法弄清楚究竟是什麼問題。

+0

您的ASP示例不完整。 –

+0

你在尋找什麼樣的信息 – gizgok

+0

'ads'是什麼,'test'是如何使用的? –

回答

0

GetObject不適用於查詢LDAP。您將需要一個COM組件來查詢LDAP。

+0

它在我查詢服務器所在的域時起作用。我對這個概念並不熟悉,但我可以告訴你我繼承的代碼庫,它在那裏工作。它不適用於傳統asp中的新域。 – gizgok

0

我曾經實施的方式是使用ADODB。類似這樣的:

set conn = Server.CreateObject("ADODB.Connection") 
conn.Provider = "ADsDSOObject" 
conn.Properties("User ID") = "[DOMAIN]\[USERNAME]" 
connAD.Properties("Password") = "[PASSWORD]" 
connAD.Properties("Encrypt Password") = true 
connAD.Open 

set test = "LDAP://CN=a,OU=Users,DC=Domain,DC=Domain" 

set rs = Server.CreateObject("ADODB.Recordset") 
set rsADUserInfo = conn.Execute(test) 
+0

我正在嘗試使用用戶標識和密碼來獲取用戶對象。 – gizgok

相關問題