2011-08-02 19 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

相关问题