ASP.Net Webforms应用程序和ASP.Net webservice之间的身份验证问题

问题描述:

我有一个使用Forms身份验证的ASP.Net webforms应用程序。它需要对使用Windows身份验证(+模拟)的web服务进行身份验证。ASP.Net Webforms应用程序和ASP.Net webservice之间的身份验证问题

我试过(除其他事项外)通过提供凭据:

service.Credentials = new NetworkCredential(myUserName, thePassword, theDomain) 

的问题是,我得到401从WebService不管我怎么努力。

问题是运行Web服务的应用程序池不允许模拟的身份。

我正在做这个完全一样的(通过它的声音),这里是我构造证书的方式。

var service = new MyService(); 
var netCredential = new NetworkCredential("user", "pwd", "domain"); 
var credentialCache = new CredentialCache 
          { 
           {new Uri(service.Url), "Basic", netCredential} 
          }; 
service.Credentials = credentialCache; 
+0

您在IIS中为webforms应用程序和webservice激活了哪些身份验证方法?你正在运行哪个IIS版本? – jgauffin 2011-03-04 11:34:52

+0

Web服务托管在IIS7上,Authentication = Basic和Impersonation = true。 Web应用程序在另一个也是IIS7的服务器上运行,并且需要Windows身份验证。 – 2011-03-04 14:30:38