从ASP.Net页面传递Active Directory凭据以检索Web内容

时间:2012-05-22 00:38:10

标签: asp.net windows-authentication

我最近有一个网站,我最近从表单身份验证转换为Windows身份验证。我终于让它正常工作了。我遇到了一个问题,我还没有找到合适的解决方法。我们有几个页面,从后端代码中将调用其他页面并从返回的页面中检索内容部分。由于代码正在调用另一个页面,因此我收到了拒绝访问错误(代码无法通过身份验证)。我已经尝试了几种使用请求传递Windows凭据的方法,但都失败了。

我愿意为此功能创建一个AD用户,并使用请求对用户名和密码进行硬编码,以便可以检索信息。任何人都可以给我代码,这将允许我这样做,到目前为止,我一直没有成功。感谢。

CNC中 我不记得所有这些,但这是我尝试的最后一个:

Dim wc As New WebClient()  
Dim credential As NetworkCredential = New NetworkCredential(ADusername, ADPwd, ADDomain)  
wc.Credentials = credential  
Dim strXML As String = wc.DownloadString(RssFeedUrl)  

这会导致页面返回(401)Unauthorized。

我尝试了另一件事......其中一个'检索'是RSS Feed,这是Feed的位置。

  <location path="RSS.ashx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

它似乎没有帮助。

1 个答案:

答案 0 :(得分:0)

事实证明,经过一些测试,我发现上面的代码确实有效。我将它复制到Windows应用程序并在几台机器上运行它。除了我想要托管代码的服务器之外,所有工作都正常。有人挖掘了事件查看器并且有一些失败的安全审核。使用此信息,我发现服务器上有一个“环回检查”。使用Microsoft KB article 896861我禁用了网站的环回检查,瞧!它现在正在运作。