为什么LDAP查询适用于asp.net但不适用于经典的asp

时间:2011-08-02 14:54:43

标签: asp.net iis asp-classic ldap windows-server-2003

我正在尝试使用其他域设置LDAP连接代码。我的Windows服务器2k3是域A的一部分。我正在尝试LDAP域B.现在这就是我的工作:

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);

这很有效。

如果我将身份验证机制从集成Windows更改为基本,则两者都有效。我无法弄清楚究竟是什么问题。

2 个答案:

答案 0 :(得分:0)

GetObject不适用于查询LDAP。您将需要一个COM组件来查询LDAP。

答案 1 :(得分: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)
相关问题