当Web服务调用另一个Web服务时,Current.User.Identity为空

时间:2012-08-20 15:32:46

标签: .net web-services iis iis-6 .net-2.0

我对以下情况感到困扰:

我有一个Web服务(这是古老的符文..NET 2.0,asmx文件),是用C#编写的。在调用服务时,使用HttpContext.Current.User等检查用户。并且需要使用Active Directory帐户进行调用。完全没有问题让当前用户认同这一点。

问题是这个Web服务在某个时刻调用了另一个Web服务,但是在第二个Web服务中,Current.User.Identity-object是空的!?

为什么会这样,我该如何解决?

这两项服务都托管在带有IIS 6的Server 2003上。这两项服务都在已启用Windows身份验证的ApplicationPools上运行。

1 个答案:

答案 0 :(得分:1)

很难说古代符文的描述有限,但我猜第一项服务是设置要求身份验证而第二项服务不是。所以首先要看的是第二个服务是否允许匿名连接,如果是这样,那么就可以解决这个问题,并且可以解决这个问题。

一般来说,这不是保护Web服务的好方法,即使是古老的ASMX服务也是如此。