如何使用Basic Auth防止通过Apache服务器下载Word、Excel文档时出现另一个登录对话框?
我有一个在windows服务器上运行的前端apache服务器。 系统是用NTLM或BASIC Auth设置的(两者的问题相同)。 从MS Word或Excel文档下载可以在所有浏览器中正常工作 如果我使用Internet Explorer下载office文档,则下载文档会请求另一个url。 查看apache访问日志,我发现有一些带有选项和PROPFIND的请求 因此,我使用以下方法修改了配置:如何使用Basic Auth防止通过Apache服务器下载Word、Excel文档时出现另一个登录对话框?,apache,ms-office,Apache,Ms Office,我有一个在windows服务器上运行的前端apache服务器。 系统是用NTLM或BASIC Auth设置的(两者的问题相同)。 从MS Word或Excel文档下载可以在所有浏览器中正常工作 如果我使用Internet Explorer下载office文档,则下载文档会请求另一个url。 查看apache访问日志,我发现有一些带有选项和PROPFIND的请求 因此,我使用以下方法修改了配置: <Location /latest> <Limit OPTIONS PR
<Location /latest>
<Limit OPTIONS PROPFIND>
deny from all
</Limit>
</Location>
全盘否定
到目前为止,这是可行的,但在Office2010中,我再次遇到了这个问题
在网上搜索时,我发现了这篇文章:
因此,我不必发送403(我猜是拒绝所有发送403),所以我必须发送405
我可以这样做吗?这是正确的吗
<Location /latest>
<Limit OPTIONS PROPFIND>
redirect 405
</Limit>
</Location>
重定向405
最后,我发现这是正确的配置。
说到这里,我还必须明确指出,我有时在后台Web服务器(IIS 7)中设置身份验证,有时在Apache中设置身份验证(取决于客户情况)
一,。
由于Apache是我的前端代理,而后端服务器是IIS7,因此当IIS7进行身份验证时,这起到了作用:
禁用对选项和PROPFIND谓词的支持–如果web应用程序不打算用于WebDAV,则可以在运行IIS的默认服务器上将提供WebDAV功能的web服务扩展设置为禁止。(这可能是WebDAV或FrontPage服务器扩展。)如果站点通过另一个扩展提供WebDAV功能,则应涉及该扩展的提供商。例如,要使用Windows SharePoint Services(WSS)执行此操作,应将站点配置为禁用客户端集成,或者应禁用选项和PROPFIND谓词。(在IIS 6上,从web.config文件的注册行中删除谓词。在IIS 7.0上,使用请求筛选功能的HTTP谓词选项卡拒绝谓词。)请注意,此方法将以只读模式打开内容,因为此方法禁用直接编辑功能
发件人: 因此,我为动词设置了内容过滤器,然后它最终对我来说运行良好 二,。 然后,我在Apache中使用NTLM Auth进行了测试。 当Apache进行自我验证时,我的原始配置运行良好 因此,我只是遇到了混合行为的问题:) **编辑** 对于IIS web.config,这应该可以工作:
<system.webServer>
<security>
<requestFiltering>
<verbs applyToWebDAV="false">
<add verb="OPTIONS" allowed="false"/>
<add verb="PROPFIND" allowed="false"/>
</verbs>
</requestFiltering>
</security>
</system.webServer>
我面临着类似的问题,但我有IIS,没有Apache。正在尝试在IIS web.config中查找相同的等效项。有人吗?找到一个旧帖子,也许这对你有帮助:。他们的关键是UrlScan,似乎要过滤PROPFIND关键字。所以它应该是sam eon IIS7 ff。我可以用配置文件拒绝选项和PROPFIND,但服务器会用PROPFIND的404状态码响应,我会得到身份验证对话框。。。是的,我正在使用Office 2010,就像你的情况一样。你的项目中有web.config文件吗?我修改了答案并添加了一个示例配置。