数据连接到 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 身份验证方法,则为首选方法)
若要指定映射到环回地址并且可以连接到计算机上的网站的主机名,请按照下列步骤操作:- 将
DisableStrictNameChecking
注册表项设置为 1。 有关具体操作方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中的相应文章:
281308 无法使用别名连接到基于 Windows 2000 或 Windows Server 2003 的计算机上的 SMB 共享
- 依次单击「开始」、“运行”,键入 regedit,然后单击“确定”。
- 在注册表编辑器中,找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 右键单击“MSV1_0”,指向“新建”,然后单击“多字符串值”。
- 键入 BackConnectionHostNames,然后按 Enter。
- 右键单击“BackConnectionHostNames”,然后单击“修改”。
- 在“数值数据”框中,为本地计算机上的网站键入一个或多个主机名,然后单击“确定”。
- 退出注册表编辑器,然后重新启动 IISAdmin 服务。
方法 2:禁用环回检查(最不推荐这种方法)
第二个方法是通过设置 DisableLoopbackCheck 注册表项禁用环回检查。若要设置 DisableLoopbackCheck 注册表项,请执行以下步骤:
- 将
DisableStrictNameChecking
注册表项设置为 1。 有关具体操作方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
281308 无法使用别名连接到基于 Windows 2000 或 Windows Server 2003 的计算机上的 SMB 共享
- 依次单击「开始」、“运行”,键入 regedit,然后单击“确定”。
- 在注册表编辑器中,找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- 右键单击“Lsa”,指向“新建”,然后单击“DWORD 值”。
- 键入 DisableLoopbackCheck,然后按 Enter。
- 右键单击 DisableLoopbackCheck,然后单击“修改”。
- 在“数值数据”框中,键入 1,然后单击“确定”。
- 退出注册表编辑器,然后重新启动您的计算机。