1

我有一个ASP 3.5 Web窗体应用程序使用Windows身份验证,需要调用基于SOAP的Web服务(SSRS 2005报表服务),它使用集成的Windows身份验证。然而,从asp后端对Web服务的调用一直在抛出401错误。 如果我打开Web服务上的匿名身份验证,它使用IUSR_xxx帐户可以正常工作,但是我希望它使用访问asp Web应用程序的用户的Windows帐户进行连接。我怎样才能通过Windows用户凭证?将Windows用户凭据传递给Web服务

回答

4

您必须通过将默认凭证提供给您的代理来验证您的web服务。这样

localhost.ServiceX myProxy = new localhost.ServiceX(); 
myProxy.Credentials = System.Net.CredentialCache.DefaultCredentials; 
+0

是的尝试,但它返回相同的401错误,请将DefaultCredentials似乎并没有包含在当前的Windows用户 – 2009-09-15 23:36:27

+0

却可以是工作,我也需要明确设置在ImpersonationLevel财产凭证将Web服务代理WebRequest对象模拟为Impersonation。默认情况下,它被设置为授权。 – 2009-09-16 01:22:11

+1

您也可以使用:myProxy.UseDefaultCredentials = True – davidsleeps 2009-09-28 00:01:36