在IIS下使用Windows身份验证对LDAP查询进行身份验证

时间:2019-07-25 12:49:57

标签: authentication iis vbscript ldap

我必须编写一个网页来更改AD密码。该页面由IIS服务器托管。我只有旧的代码,这是用VisualBasicScript编写的已有10多年历史的.asp页,并且已多次修补。实际的问题是,尝试查询用户对象时出现80040E37错误,这意味着我没有查询数据的权限。

我发现在创建建立ADOConnection时显式使用用户/密码时,问题就消失了。但是我不想对凭证进行硬编码,在旧版本中也不会这样做。 我以某种方式通过了身份验证,因为我可以使用以下方式查询用户:

Set objSysInfo = Server.CreateObject("ADSystemInfo")
strUserName = objSysInfo.UserName

是同一用户进行硬编码。 我不知道这是编码问题还是IIS配置问题。

我从旧版本中提取了以下代码(注释行除外):

Dim adoConnection
Set adoConnection = createObject("ADODB.Connection")
adoConnection.Provider = "ADSDSOObject"
'adoConnection.Properties("User ID") = "USER"
'adoConnection.Properties("Password") = "PASSWORD"
'adoConnection.Properties("Encrypt Password") = True
adoConnection.Open

Dim adoCommand
set adoCommand = createObject("ADODB.Command")

Set adoCommand.ActiveConnection = adoConnection
adoCommand.Properties("Page Size") = 100

adoCommand.CommandText = "LDAPQUERY"
Dim adRecSet
set adRecSet = createObject("ADODB.Recordset")
adRecSet.open adoCommand

我期望(如果我取消注释这三行,则可以得到它)一个有效的结果对象;我收到错误消息:

  

发生操作错误。
  80040E37

如何使用IIS服务器中配置的用户查询数据?

0 个答案:

没有答案