繁体   English   中英

通过Web服务访问Sharepoint列表时出现身份验证错误

[英]Authentication Error when accessing Sharepoint list via web service

几个月前我写了一个Windows服务,它将使用_vti_bin / lists.asmx函数GetListItemChanges ping一个Sharepoint列表。 几周前,当我的公司将Sharepoint实例升级到SP1时,它工作正常。
现在,只要我的服务尝试访问Sharepoint,我就会收到401.1身份验证错误:

错误:

您无权查看此页面
您无权使用您提供的凭据查看此目录或页面。
请尝试以下操作:如果您认为应该能够查看此目录或页面,请与网站管理员联系。
HTTP错误401.1 - 未经授权:由于凭据无效,访问被拒绝。
Internet信息服务(IIS)

我已经检查过,我在网站上的权限没有改变。 这是我在其中调用列表的代码:

Lists listsService = new Lists();
listsService.Credentials = new NetworkCredential("UserName", "Password", "domain");
Result = listsService.GetListItemChanges("List name", null, dTime.ToString(), null);

我还注意到,我们的服务器场可能已禁用基本身份验证。 我不相信我正在使用它,但我可能弄错了。

根据提供的信息,我怀疑这是一个编程错误。 您是否可以访问托管SharePoint站点的服务器上的IIS管理器界面? 如果是,请检查允许的有效身份验证技术。 是否允许匿名连接? Windows集成验证是否已启用? HTTP Basic身份验证? 向您的基础架构/ SharePoint人员询问双跳(代理)的可能性。 如果是这样,那也可能有用,但设置很麻烦(Kerberos委派)。 NetworkCredentials类似乎支持IIS支持的所有标准身份验证方案(表单除外):

http://msdn.microsoft.com/en-us/library/system.net.networkcredential(VS.80).aspx

您可能需要让基础架构人员为SharePoint Web前端设置SPN:

http://support.microsoft.com/kb/929650

但是,我建议不要通过IIS管理器更改任何内容。 让SharePoint管理员通过SharePoint管理中心对网站允许的身份验证技术进行更改。

问候,山姆

我刚刚发现了一个非常类似的问题并通过MS知识库文章解决了它: http//support.microsoft.com/kb/896861

你应该尝试的是这个:

方法2:禁用环回检查请按照下列步骤操作:

  1. 单击“开始”,单击“运行”,键入regedit,然后单击“确定”。
  2. 在注册表编辑器中,找到并单击以下注册表项:HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Control \\ Lsa
  3. 用鼠标右键单击Lsa,指向新建,然后单击DWORD值。
  4. 键入DisableLoopbackCheck,然后按ENTER键。
  5. 右键单击“DisableLoopbackCheck”,然后单击“修改”。
  6. 在“数值数据”框中,键入1,然后单击“确定”。
  7. 退出注册表编辑器,然后重新启动计算机。

这解决了我所拥有的环境中的所有常规解决方案(对Web服务调用添加凭据)失败的相同问题。

你的内部网络上有代理吗?

我正在考虑双跳,而Basic Auth不容易这样,但NTLM是。 如果您有代理,那么双跳是一个问题。 如果您直接访问计算机并且只能计算一跳(服务到Web服务),那么这应该不是问题。

假设它不是SSL或基本/ Windows身份验证问题,那么我打赌这个

要测试登录到本地服务器并尝试浏览您的站点。 如果你不能使用上面给出的用户名/密码成功浏览,但你可以从远程电脑上找到这个文章。

当您浏览使用集成身份验证并在IIS 5.1或IIS 6上承载的网站时,您会收到错误401.1

http://support.microsoft.com/default.aspx?scid=kb;en-us;896861

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM