在 Windows 中访问基于 WebDav 的 FQDN 站点时提示输入凭据

本文解决了以下问题:在 Windows 中访问 Web 分布式创作和版本控制 (WebDav) (FQDN) 站点时,系统会提示输入凭据。

适用于:Windows Server 2019、Windows Server 2016、Windows Server 2012 R2
原始 KB 编号: 943280

症状

请考虑以下情况:

  • 你使用运行 Windows Vista 或更高版本的 Windows 的计算机。
  • 使用 WebDav 访问 FQDN 站点。

在此方案中,系统会提示输入凭据或拒绝你访问,即使你正在使用的用户帐户具有访问此站点的足够权限。

通过资源管理器视图处理移动的文件夹时,还可能会收到以下错误消息:

你的客户端不支持使用 Windows 资源管理器打开此列表。

原因

在 Windows Vista 或更高版本的 Windows 版本中,WebClient 服务用于允许 Windows 资源管理器与 WebDAV 资源交互。 WebClient 服务使用 Windows HTTP 服务 (WinHTTP) 对远程主机执行网络 I/O 操作。

WinHTTP 仅在响应本地 Intranet 站点上发生的请求时发送用户凭据。 但是,WinHTTP 不会检查 Internet Explorer 中的安全区域设置来确定网站是否位于允许自动发送凭据的区域。

如果未配置代理,WinHTTP 仅将凭据发送到本地 Intranet 站点。

注意

如果 URL 在服务器名称中不包含句点(如以下示例所示),则假定服务器位于本地 Intranet 站点上: http://sharepoint/davshare

如果 URL 包含句点,则假定服务器位于 Internet 上。 句点指示使用 FQDN 地址。 因此,除非配置了代理并且指示此服务器绕过代理,否则不会自动将凭据发送到此服务器。

注意

可以通过绕过列表或代理配置脚本来指示服务器以绕过代理。

在这种情况下,当网站要求提供凭据时,系统会拒绝访问或提示输入凭据。 即使发生这种情况,也会忽略安全区域设置。

解决方案

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请单击下面的文章编号以查看 如何在 Windows 中备份和还原注册表中的文章。

注册表信息

若要解决此问题,请创建一个注册表项。 为此,请按照下列步骤操作:

  1. 单击“ 开始”,键入 regedit,然后按 Enter。

  2. 找到并选择以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters

  3. “编辑” 菜单上,指向“ 新建”,然后单击“ 多字符串值”。

  4. 键入 AuthForwardServerList,然后按 Enter。

  5. “编辑”菜单上,单击“修改”

  6. “值数据 ”框中,键入托管 Web 共享的服务器 URL,然后单击“ 确定”。

    注意

    还可以在 “值数据 ”框中键入 URL 列表。 有关详细信息,请参阅本文中的“示例 URL 列表”部分。

  7. 退出注册表编辑器。

注意

  • 如果已添加 AuthForwardServerList 注册表项,请注意,如果在网络中实现了基本身份验证或摘要身份验证,则使用注册表项无法阻止输入凭据的提示。 此行为是针对基本身份验证和摘要式身份验证设计的。
  • 修改注册表后,必须重启 WebClient 服务。

示例 URL 列表

在新条目的“ 值数据 ”框中,可以输入 URL 列表,如以下示例所示:

  • https://*.Contoso.com
  • http://*.dns.live.com
  • *.microsoft.com

此 URL 列表允许 WebClient 服务通过以下通道发送凭据:

  • 指向其名称为 Contoso.com的域的子域的任何加密通道。
  • 指向名称为 dns.live.com的域的子域的任何不安全通道。
  • 名称以 结尾 .microsoft.com的服务器的任何通道。

注意

配置 URL 列表后,凭据将自动向 WebDAV 服务器进行身份验证,即使这些服务器位于 Internet 上也是如此。

URL 列表中要避免的事项

  • 请勿在 URL 末尾添加星号 (*) 字符。 这会产生安全风险。 例如,不要使用以下 URL:
    http://*.dns.live.*

  • 不要在字符串之前或之后添加星号 (*) 。 这可能导致 WebClient 服务将用户凭据发送到其他服务器。 例如,不要使用以下 URL:

    • http://*Contoso.com

      在此示例中,服务还会将用户凭据发送到 http://extra_charactersContoso.com

    • http://Contoso*.com

      在此示例中,服务还会将用户凭据发送到 http://Contosoextra_characters.com

  • 在 URL 列表中,不要键入主机的 UNC 名称。 例如,不要使用以下 URL:
    http://*.contoso.com@SSL

  • 在 URL 列表中的列表中,不要在反斜杠中结束 URL,也不包括要使用的共享名称或端口号。 例如,不要使用以下 URL:

    • http://*.dns.live.com/
    • http://*.dns.live.com/DavShare
    • http://*dns.live.com:80
  • 请勿在 URL 列表中使用 IPv6。

重要

此 URL 列表不会影响安全区域设置。 此 URL 列表仅用于将凭据转发到 WebDAV 服务器的特定目的。 应尽可能限制性地创建列表,以避免出现任何安全问题。 此外,由于没有特定的拒绝列表,因此凭据将转发到与此列表匹配的所有服务器。

状态

Microsoft 已确认这是本文开头列出的 Microsoft 产品中的问题。