数据连接到 Web 服务 InfoPath 2010 窗体中的 SharePoint 服务器上运行时的错误消息:"401-未经授权"解决方案

症状:

请考虑以下情形:

  • Web 窗体发布到 SharePoint 服务器。
  • 您创建 Microsoft InfoPath 2010 表单所在的 SharePoint 服务器上使用到位于数据的数据连接。
  • 在 InfoPath 表单中使用完全限定的域名 (FQDN) 或自定义的主机标头。
在此方案中,您将收到以下错误消息:

401-未经授权

 

解决方案:

当您浏览 Web 站点,它使用集成身份验证,并承载于 IIS 5.1 或更高版本上时,您会收到错误 401.1

 

在使用完全限定的域名 (FQDN) 或自定义主机标头浏览承载于运行 Microsoft Internet 信息服务 (IIS) 5.1 或更高版本的计算机上的本地网站时,可能会收到类似于以下内容的错误消息:

HTTP 401.1 - 未授权:登录失败

当网站使用集成身份验证并具有映射到本机环回地址的名称时,将出现此问题。
注意:仅当尝试直接在服务器上浏览网站时,才会收到此错误消息。如果从客户端计算机浏览网站,网站会正常运行。

 

 

 

重要说明:此部分、方法或任务包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

322756 如何在 Windows 中备份和还原注册表

可使用两种方法解决此问题,请根据您的具体情况使用以下方法之一:

方法 1:指定主机名(如果需要 NTLM 身份验证方法,则为首选方法)
若要指定映射到环回地址并且可以连接到计算机上的网站的主机名,请按照下列步骤操作:
  1. DisableStrictNameChecking

    注册表项设置为 1。 有关具体操作方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中的相应文章:

    281308 无法使用别名连接到基于 Windows 2000 或 Windows Server 2003 的计算机上的 SMB 共享

  2. 依次单击「开始」、“运行”,键入 regedit,然后单击“确定”
  3. 在注册表编辑器中,找到并单击下面的注册表项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0

  4. 右键单击“MSV1_0”,指向“新建”,然后单击“多字符串值”
  5. 键入 BackConnectionHostNames,然后按 Enter。
  6. 右键单击“BackConnectionHostNames”,然后单击“修改”。
  7. 在“数值数据”框中,为本地计算机上的网站键入一个或多个主机名,然后单击“确定”
  8. 退出注册表编辑器,然后重新启动 IISAdmin 服务。
方法 2:禁用环回检查(最不推荐这种方法)
第二个方法是通过设置 DisableLoopbackCheck 注册表项禁用环回检查。
若要设置 DisableLoopbackCheck 注册表项,请执行以下步骤:
  1. DisableStrictNameChecking

    注册表项设置为 1。 有关具体操作方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    281308 无法使用别名连接到基于 Windows 2000 或 Windows Server 2003 的计算机上的 SMB 共享

  2. 依次单击「开始」、“运行”,键入 regedit,然后单击“确定”
  3. 在注册表编辑器中,找到并单击下面的注册表项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  4. 右键单击“Lsa”,指向“新建”,然后单击“DWORD 值”
  5. 键入 DisableLoopbackCheck,然后按 Enter。
  6. 右键单击 DisableLoopbackCheck,然后单击“修改”
  7. 在“数值数据”框中,键入 1,然后单击“确定”
  8. 退出注册表编辑器,然后重新启动您的计算机。
posted @ 2013-08-29 15:15  love007  阅读(537)  评论(0编辑  收藏  举报