首页 文章

401在DotNetNuke中使用HTTPWebRequest和Active Directory身份验证时出错

提问于
浏览
2

有没有人在DotNetNuke网站上成功使用System.Net.HTTPWebRequest和Active Directory身份验证?我环顾四周,发现了几个对HTTPWebRequest和Active Directory身份验证的引用,但似乎都没有特别的含量 . 我尝试了无数的属性/方法变体,没有成功 .

我正在使用的开发环境是一个Windows 2003 Server,它充当备份PDC并运行IIS 6.0 . 该网站正在使用Active Directory身份验证运行DotNetNuke 4.9.4(也在DNN 5.1.4中尝试过),并且非常适合登录 . 但是,其中一个模块执行HTTPWebRequest来处理文件,并且它正在处理401 Unauthorized错误 .

我尝试过的最基本的代码:

Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create(sURL),HttpWebRequest)webReq.Timeout = 30000 Dim credential As New NetworkCredential(sUserName,sPassword)Dim credentialCache As New CredentialCache()credentialCache.Add(New Uri(sURL),"NTLM",凭证)webReq.Credentials = credentialCache webReq.KeepAlive = True webReq.Accept =“/”

我尝试过添加PreAuthenticate .

我也尝试过注册表项修改,包括这一项:

Changes to NTLM authentication for HTTPWebRequest in Version 3.5 SP1

一切都没有成功 . 每次我得到可怕的401:

远程服务器返回错误:(401)未经授权 . 在System.Net.HttpWebRequest.GetResponse()

我还创建了一个简单的aspx页面,其中包含以下代码:Dim requestUrlString As String =“http://adtestsite/somepage.aspx " Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create(requestUrlString), HttpWebRequest) Dim nc As New NetworkCredential(" UserName ", " Password ", " OurDomainName”)

Dim webResponse As System.Net.HttpWebResponse = DirectCast(webReq.GetResponse, HttpWebResponse)
        If webResponse.StatusCode = HttpStatusCode.OK Then
            Response.Write("Yes!")
        Else
            Response.Write("NO!")
        End If

我得到一个“不!”每次都有401错误 .

我在这个上面撞墙 . 如果有人有秘方酱的食谱,请告诉我!

1 回答

  • 0

    HttpWebRequest连接到的服务器的OS平台是什么?

相关问题