繁体   English   中英

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

[英]Passing Active Directory Credentials from an ASP.Net Page to Retrieve Web Content

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

我愿意为此功能创建一个AD用户,并使用请求对用户名和密码进行硬编码,以便可以检索信息。 谁能给我代码允许我执行此操作,到目前为止,我一直没有成功。 谢谢。

-编辑-我不记得全部,但这是我尝试的最后一个:

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)未经授权。

我尝试过的另一件事...“检索”之一是RSS feed,这是feed的位置。

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

似乎没有帮助。

事实证明,经过更多测试之后,我发现上面的代码确实有效。 我将其复制到Windows应用程序并在多台计算机上运行。 除了我要在其上托管代码的服务器以外,所有其他组件均正常工作。 是否对事件查看器进行了深入研究,但安全审核失败。 使用此信息,我发现服务器上存在“回送检查”。 使用Microsoft KB文章896861,我禁用了该站点的回送检查功能,瞧! 现在正在工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM