文件服务器不询问凭据,以匿名方式打开文档时,系统会提示您输入凭据 - SharePoint | Microsoft Docs...

本文档详细介绍了在SharePoint Server 2016中,使用Office MSI版本打开文档时遇到的身份验证问题。当尝试匿名访问时,系统会提示输入凭据。问题源于Office应用程序发送的Authorization:Bearer标头,而SharePoint Server 2016不支持此标头。解决方案包括禁用OPTIONS请求,安装IIS URL重写扩展,并创建URL重写规则以删除Authorization:Bearer标头。该过程涉及修改Web.config文件,添加服务器变量以及设置URL重写规则。确保在服务器场的每个Web前端服务器上执行相同步骤以解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当您在 SharePoint Server 2016 中匿名打开文档时,系统SharePoint凭据

2021/8/13

适用于:

SharePoint Server 2016

本文内容

应用于:

Microsoft SharePoint Server 2016 年

Windows安装程序 (MSI) 版本的 Microsoft Office 2016 应用程序 (不适用于 Office 365 应用程序)

为网站或库SharePoint匿名访问

匿名Office访问文档

使用Office登录文档时所使用的帐户访问文档Windows

症状

当您使用 Windows Installer (MSI) 版本的 Office 应用程序在 SharePoint Server 2016 中打开文档时,如果满足"适用于"部分中的条件,系统将提示您输入凭据。

出现此问题的原因

Office应用程序发送 Authorization: Bearer 标头,SharePoint Online 和 OneDrive for Business。 SharePoint服务器 2016 发送 HTTP 401 身份验证提示,因为 SharePoint Server 2016 本地处理具有 Authorization: Bearer 标头的请求的方式问题,以及缺少 X-IDCRL_ACCEPTED: t 标头的原因。

如何解决此问题

若要解决此问题,请禁用受影响的 Web 应用程序的 OPTIONS 请求,然后使用 URL 重写规则有效删除 HEAD 请求中的 Authorization: Bearer 标头。 仅使用 SharePoint Server 2016 支持的 URL 重写规则来删除请求头值。 有关详细信息,请参阅 SharePoint 2016、2013、2010 和 2007中重写和重定向的支持性。

若要实现此解决方法,请按照以下步骤操作。

步骤 1:阻止 Web 应用程序的 OPTIONS Web.config

若要阻止 OPTIONS 请求,Web.config Web 应用程序的文件,如下所示:

备注

对于 Web 分布式创作和版本控制 WebDav 请求,不会 (OPTIONS) 请求。

步骤 2:下载并安装 IIS URL 重写扩展

下载IIS URL 重写扩展,SharePoint WFE (Web 前端) 扩展。

步骤 3:将HTTP_Authorization服务器变量添加到 IIS

启动 Internet Information Services (IIS) 管理器",在左窗格中选择 SharePoint 服务器,然后在中央窗格中选择 "URL 重写"。

在右侧窗格中,选择"查看服务器变量"。

若要添加新的服务器变量,请选择"添加 "。

键入服务器变量名称(如 HTTP_Authorization,然后选择"确定 "。

在右侧窗格中,选择"返回到规则"。

验证 HTTP_Authorization 服务器变量是否添加到 ApplicationHost.config 文件中,如下所示:

….

步骤 4:添加规则以停止处理其他请求方法的 URL 重写规则

如果请求方法不是 HEAD,您可以添加规则以停止处理进一步的 URL 重写规则, (更改 HEAD 请求) 。 为此,请按照下列步骤操作:

选择 Web 应用程序,然后选择 "URL 重写"。

在右侧窗格中,选择" (规则) 添加新规则。

键入规则名称,如 Authrule-HEADonly。

在" 匹配 URL" 部分,指定以下值:

请求的 URL:匹配模式

使用: 正则表达式

模式: ^(?!.*\.aspx).*$

忽略大小写 选项:已选中

在" 条件"部分, 选择"添加",然后指定以下值:

条件输入: {REQUEST_METHOD}

检查输入字符串:是否与模式不匹配

模式: HEAD

忽略大小写 选项:已选中

编辑 "操作"部分 ,如下所示:

操作类型:无

停止处理后续规则选项 :已选中

在右侧窗格中,选择"应用到 -> 规则"。

备注

确保已启用该规则。 为此,在右 窗格中 查找"禁用规则"选项。 选择规则后,将显示此选项。

步骤 5:添加 URL 重写规则以删除 Authorization: Bearer 标头

若要有效删除 请求的 Authorization: Bearer 标头,请使用 URL 重写规则,如下所示:

选择 Web 应用程序,然后选择 "URL 重写"。

在右侧窗格中,选择" (规则) 添加新规则。

键入规则名称,如 Authrule。

在" 匹配 URL" 部分,指定以下值:

请求的 URL:匹配模式

使用: 正则表达式

模式: ^(?!.*\.aspx).*$

忽略大小写 选项:已选中

在" 服务器变量 "部分,选择" 添加", 指定以下值,然后选择"确定":

服务器变量名称 :HTTP_Authorization

值:无

替换现有值 选项:已选中

在 "操作 "部分,指定以下值

操作类型:无

停止处理后续规则:已选中

在右侧窗格中,选择"应用到 -> 规则"。

备注

确保已启用该规则。 为此,在右 窗格中 查找"禁用规则"选项。 选择规则后,将显示此选项。

在 SharePoint Server 2016 服务器场中解决此问题

在服务器场中的每个 SharePoint Web 前端 (WFE) 服务器上重复上一节的所有步骤,以确保所有服务器的配置都相同。 如果已使用重写规则,则需要将上一节中的两个规则设置为列表中的最后两个规则,因为 HEAD 规则将禁用后续规则。

由于 IIS URL 重写扩展中的限制,当前无法以允许它们正常工作的方式组合规则。 此情况在扩展的未来修订中可能会更改,或者将来可能会找到备用配置。 目前,这些方法是使用 URL 重写解决此问题的最佳确认方法。

更多信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值