使用AD帐户访问WSS Lists.asmx Web服务时未经授权的访问

时间:2010-02-11 20:18:46

标签: web-services sharepoint windows-authentication

我遇到了一个问题,我尝试访问远程或本地站点中的Lists.asmx Web服务,并收到401错误。要清楚,这是/_vti_bin/Lists.asmx。设置是我有一个WSS 3.0站点,它通过soap连接到另一个WSS / MOSS站点的列表服务。在我们的舞台环境中,这两个站点位于同一个盒子上,但在开发环境中它们是分开的。无论情况如何,他们都在同一个领域。最初(在重建之前)Web服务调用在开发中工作正常,但不在阶段,这令人费解,至少证实我的Web服务的实现是正确的,并且问题是授权之一。这是我的初始列表服务设置代码:

new Lists
{
     Url = Utility.AppSetting("WSS.Url", true),
     Credentials = new NetworkCredential
     {
           UserName = Utility.AppSetting("WSS.UserName", true),
           Password = Utility.AppSetting("WSS.Password", true),
           Domain = Utility.AppSetting("WSS.Domain", true)
     }
};

让我手动指定服务器上完整访问帐户的域凭据。但是我怀疑上面的代码没有做任何事情,服务只是使用AD进行身份验证,即我的应用程序池帐户(在dev上是我的超级电源开发帐户)。为了减轻发布过程的负担,我希望能够明确设置服务的凭据,而不是依赖基础设施官员必须给他的应用程序池帐户读取/ Web服务访问远程wss实例。 / p>

干杯

2 个答案:

答案 0 :(得分:0)

尝试:

Credentials = System.Net.CredentialCache.DefaultCredentials

或者

Credentials = System.Net.CredentialCache.DefaultNetworkCredentials

答案 1 :(得分:0)

作为参考,问题在于环回检查是Server2k8的一个问题。禁用它修复了错误。