我对以下情况感到困扰:
我有一个Web服务(这是古老的符文..NET 2.0,asmx文件),是用C#编写的。在调用服务时,使用HttpContext.Current.User等检查用户。并且需要使用Active Directory帐户进行调用。完全没有问题让当前用户认同这一点。
问题是这个Web服务在某个时刻调用了另一个Web服务,但是在第二个Web服务中,Current.User.Identity-object是空的!?
为什么会这样,我该如何解决?
这两项服务都托管在带有IIS 6的Server 2003上。这两项服务都在已启用Windows身份验证的ApplicationPools上运行。
答案 0 :(得分:1)
很难说古代符文的描述有限,但我猜第一项服务是设置要求身份验证而第二项服务不是。所以首先要看的是第二个服务是否允许匿名连接,如果是这样,那么就可以解决这个问题,并且可以解决这个问题。
一般来说,这不是保护Web服务的好方法,即使是古老的ASMX服务也是如此。