经典ASP(VBScript),2008 R2,使用AD进行身份验证时出错

经典ASP(VBScript),2008 R2,使用AD进行身份验证时出错,vbscript,asp-classic,Vbscript,Asp Classic,我已将网站从Win2003 x32移动到Win2008R2 x64。它可以在旧服务器上正常工作。该网站使用active directory进行身份验证。我在2008年遇到此错误:-2147023584:指定的登录会话不存在。它可能已经被终止了。我尝试过切换到经典模式等,但没有改变。它确实执行VBScript代码(否则我不会得到错误) 代码如下: Function AuthenticateUser(UserName, Password) On Error Resume Next

我已将网站从Win2003 x32移动到Win2008R2 x64。它可以在旧服务器上正常工作。该网站使用active directory进行身份验证。我在2008年遇到此错误:-2147023584:指定的登录会话不存在。它可能已经被终止了。我尝试过切换到经典模式等,但没有改变。它确实执行VBScript代码(否则我不会得到错误)

代码如下:

Function AuthenticateUser(UserName, Password)

    On Error Resume Next

    Dim oADsNamespace, oADsObject
    Dim strADsNamespace, strADsPath

    strADsPath = "WinNT://ibcschools.edu"
    strADsNamespace = left(strADsPath, instr(strADsPath, ":"))

    Set oADsObject = GetObject(strADsPath)
    Set oADsNamespace = GetObject(strADsNamespace)
    Set oADsObject = oADsNamespace.OpenDSObject(strADsPath, UserName, Password, 0)
    Response.Write(Err.Number & " : " & Err.Description & "<br />")
    If Err.Number = 0 Then

        Set oADsNamespace = Nothing
        Set oADsObject = Nothing
        Set strADsNamespace = Nothing
        Set strADsPath = Nothing

        AuthenticateUser = True

    Else

        Set oADsNamespace = Nothing
        Set oADsObject = Nothing
        Set strADsNamespace = Nothing
        Set strADsPath = Nothing

        AuthenticateUser = False

    End If

End Function
Function AuthenticateUser(用户名、密码)
出错时继续下一步
暗淡的oADsNamespace,oADsObject
昏暗的空间
strADsPath=“WinNT://ibcschools.edu”
strADsNamespace=左(strADsPath,instr(strADsPath,“:”))
设置oADsObject=GetObject(strADsPath)
设置oADsNamespace=GetObject(strADsNamespace)
设置oADsObject=oADsNamespace.OpenDSObject(strADsPath,用户名,密码,0)
Response.Write(Err.Number&“:”和Err.Description&“
”) 如果Err.Number=0,则 设置oADsNamespace=Nothing 设置oADsObject=Nothing Set-snamespace=无 设为空=无 AuthenticateUser=True 其他的 设置oADsNamespace=Nothing 设置oADsObject=Nothing Set-snamespace=无 设为空=无 AuthenticateUser=False 如果结束 端函数

任何帮助都将不胜感激。谢谢。

您的问题似乎与

你可以尝试的事情:

  • WinNT
    替换为
    LDAP
    提供程序
  • 尝试运行独立的VBS文件 在IIS/ApplicationPool用户权限下

  • 好吧,我让它工作了。以前它没有域名,但现在需要它。我认为这与旧服务器上的应用程序池登录与此服务器登录有关。我打算再做一点。我不想改变所有的网站。

    我想这不是问题所在。如果您试图访问UNC共享或其他内容,这似乎更重要。不管怎样,我试过它说的话,但仍然不起作用。我还将其保存为VBS文件,效果良好。这和IIS7有关。只需要弄清楚我需要使用什么设置。我猜不允许您的IIS/ApplicationPool用户执行此查询-可能是旧计算机上的web应用使用了特权用户吗?不,它使用了网络服务。我试着将它切换到许多不同的用户和域用户。还是不行。我会试试你的其他建议。好的,我成功了。以前它没有域名,但现在需要它。我认为这与旧服务器上的应用程序池登录与此服务器登录有关。我打算再做一点。我不想更改所有网站。很高兴听到你能找到它。当我尝试在我的本地计算机上运行上面的代码时,无论我输入什么详细信息,它都会进行身份验证。我是否可以使用上述方法对本地计算机进行身份验证?