2014-06-12 22 views
0

我有一个基本的asmx页面,它向报告服务服务器请求数据。使用ASP.net WebClient转发凭证

运行asmx和报告服务服务器的用户,Web服务器全部位于相同的Windows域中。

Webclient request = new WebClient(); 
request.Credentials = ?WhatGoesHere?; 
byte[] fileData = request.DownloadData(......) 

如果我设置UseDefaultCredentials = true;它会尝试使用用户运行IIS的凭据进行身份验证。

如何让WebClient以访问asmx页面的用户身份进行身份验证?

回答

1

我假设您已经在托管aspx页面的Web服务器上启用了集成身份验证,并且该服务器是IIS。
如果页面不在报告服务器上,则可能遇到与认证转发相关的double hop问题。该解决方案需要kerberos身份验证,并在域级别正确配置一些项目。

+0

是,在Web服务器上启用集成身份验证。是的,报告服务位于与IIS不同的服务器上。 – John

+0

如果您在报告服务器上有IIS,您可以尝试移动该服务器上的aspx页面。如果使用该布局,aspx页面可以工作,那么很可能是双跳是罪魁祸首。 – Paolo