我有一个配置为匿名访问的MOSS 07站点。此站点中有一个文档库,也启用了匿名访问。当匿名用户单击此库中的PDF文件时,他或她可以正常阅读或下载它。当用户单击Office文档时,系统会提示他或她使用登录框。用户可以在不输入登录的情况下取消此框,并将被带到文档中。
这在IE中发生,但不在FireFox中发生。
我在网上看到一些对此问题的引用,但没有明确的解决方案: http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.sharepoint.windowsservices.development&tid=5452e093-a0d7-45c5-8ed0-96551e854cec&cat=en_US_CC8402B4-DC5E-652D-7DB2-0119AFB7C906&lang=en&cr=US&sloc=&p=1
http://www.sharepointu.com/forums/t/5779.aspx
http://www.eggheadcafe.com/software/aspnet/30817418/anonymous-users-getting-p.aspx
答案 0 :(得分:8)
要禁用登录提示从SharePoint 2010打开office文档,请在web.config中执行以下设置
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true">
<!-- here's where the magic happens -->
<verbs allowUnlisted="true">
<add verb="OPTIONS" allowed="false" />
<add verb="PROPFIND" allowed="false" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
答案 1 :(得分:3)
如果在MS Word中启用了Sharepoint Shared Workspace,如果用户无权访问或创建共享工作区,则可能会提示用户使用Windows登录。请关注以下事项:
如果解决此问题,请在每个MS Office程序中重复步骤以消除提示。 (Excel,PowerPoint,Visio等)
答案 2 :(得分:1)
令人遗憾的是,我发现的唯一工作中断了登录用户的一些功能(无法上传多个文件,连接到Outlook等)。
如果这是可以接受的,或者您想尝试并看到:
在中央管理员中&gt; <应用程序管理>应用程序安全性&gt;身份验证提供商选择您的Web应用程序并选择您的提供商(可能是“默认”)。
为客户端集成选择“否”并保存设置。
打开您的网络配置,找到第<add verb="OPTIONS,PROPFIND,PUT,LOCK,UNLOCK.....
行并删除动词OPTIONS。
您不应再被要求提供凭证。要反过来,只需撤消两个更改。
答案 3 :(得分:1)
如果你可以点击取消它出现问题是... AuthForwardServerList
http://support.microsoft.com/kb/943280
Office不知道该站点是受信任的/本地的,因此它不会查找您的凭据并提示您有机会提供这些凭据。这是一个特色......
如果您使用正确的注册表项列出您的网站,它将转发您不需要的凭据,但不会收到提示。
答案 4 :(得分:1)
如果您有网址重写模块或urlscan,请配置软件以将http 403发送到http OPTIONS请求。
答案 5 :(得分:1)
在Sharepoint Server 2010中,解决方法方法略有改变,因为新一代Sharepoint无法在web.config中保存动词。因此,您必须更改方法。首先,您打开IIS 7.0并选择您的应用程序站点。您可以在屏幕中间看到许多项目。您选择并双击请求过滤器。在请求过滤器中,您可以看到“动词”。您可以将OPTIONS和PROPFIND谓词添加到拒绝模式。最后测试你的网站。有时,Sharepoint需要关闭您站点的客户端集成模式。如果需要,您可以在管理中心关闭客户端集成模式。
答案 6 :(得分:1)
可能的原因和解决方案: http://support.microsoft.com/kb/943280
“当您从运行Windows Vista或Windows 7且未配置代理的计算机访问FQDN站点时,系统会提示您输入凭据”
“例如,当您在没有配置代理的基于Windows Vista的客户端计算机上使用2007 Microsoft Office从Microsoft Office SharePoint站点打开Microsoft Office文件时,系统会提示您进行身份验证。”
答案 7 :(得分:0)
我的猜测是Office客户端正在从启用了匿名访问的其他位置加载基础文档模板。这也解释了为什么您仍然可以打开文档,因为Office客户端也可以在不加载最初创建文档的模板的情况下工作。若要在Word 2007中查看模板URL,请从Word选项中启用“开发人员功能区”,然后单击功能区上的“文档模板”按钮。
答案 8 :(得分:0)
似乎不是这样。有问题的文档之一是Excel文件,不会使用.doc模板。此外,在“文档模板”对话框中,如果我基于它创建新的Word文档,则它不会为我提供SharePoint模板文件的URL。它只是说模板是“正常”。我还尝试在文档库级别禁用模板,但它不会更改密码情况。
答案 9 :(得分:0)
在IE中打开Office文档时,ActiveX组件用于调用客户端应用程序,并提示它打开文档。在其他浏览器中,下载是标准超链接,由浏览器处理。
这是否会在搜索结果和文档库中的标准链接列中发生?
答案 10 :(得分:0)
使用像Fiddler这样的工具(在第一个链接引用中引用/建议,请参阅http://www.fiddlertool.com/fiddler/了解更多信息)是确定我所知道的此类问题的根本原因的唯一有效方法。无论是什么导致这种情况都将通过HTTP发生。像Fiddler这样的调试代理会准确地向您显示导致身份验证请求的URL /资源。
在相关的说明中,您运行的是该平台的最新版本吗?检查以确保MS尚未解决此问题可能是明智之举,例如在修补程序中。我知道的最佳更新列表如下:http://www.harbar.net/articles/postsp1.aspx
答案 11 :(得分:0)
选中此项:匿名用户从SharePoint网站下载Office文档时删除登录框
在SharePoint中开发Extranet / Internet站点时,您通常希望允许匿名访问,这样可以很好地工作。 但是有一种情况是开箱即用的体验在匿名访问方面失败,那就是当您允许用户下载Microsoft Office文档时。在这种情况下,IE / Office弹出几个登录对话框,如果用户取消这些文档按预期打开,但你真的不希望用户必须取消几个对话框来打开你的文件
问题是办公室试图变得智能并发出Microsoft Office协议发现请求以查看允许用户执行多少操作,但在用户登录之前,SharePoint会以拒绝访问进行响应。
我发现的解决方案是实现一个HttpModule,如果用户没有登录并拒绝登录框,则拒绝Microsoft Office Protocol Discovery请求
答案 12 :(得分:0)
我猜你使用的是Windows Vista。我们在Vista上遇到了这个问题但在XP上却没有。
来自Microsoft:在Windows Vista中,当您使用Internet Explorer访问WebDAV资源时,Internet Explorer使用Web客户端服务。 Web客户端服务使用Windows HTTP服务(WinHTTP)来执行远程主机的网络I / O. WinHTTP仅发送用户凭据以响应本地Intranet站点上发生的请求。但是,WinHTTP不会检查Internet Explorer中的安全区域设置,以确定网站是否位于允许自动发送凭据的区域中。
如果未配置代理,则WinHTTP仅将凭据发送到本地Intranet站点。
注意如果URL在服务器名称中不包含句点(例如,在以下示例中),则假定服务器位于本地Intranet站点上: http://sharepoint/davshare
如果URL包含句点,则假定服务器位于Internet上。句点表示您使用FQDN地址。因此,除非配置了代理,否则不会自动向此服务器发送凭据,除非指示此服务器进行代理绕过。
这是一个尚未完全修复的已知问题。这里有一个关于它的MSDN博客:http://blogs.msdn.com/sharepoint/archive/2007/10/19/known-issue-office-2007-on-windows-vista-prompts-for-user-credentials-when-opening-documents-in-a-sharepoint-2007-site.aspx
最终,Vista SP1中包含一个补丁,但它也需要注册表编辑。我们最近在Windows Vista SP2客户端上使用以下步骤来实现此功能:
打开注册表。导航到以下子项:
HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \服务\ Web客户端\参数
创建一个名为AuthForwardServerList的新Multi-String值,并为其赋值(例如):
HTTPS:// .Contoso.com
HTTP:// .dns.live.com
将* .microsoft.com
https://172.169.4.6
然后重新启动WebClient服务。
答案 13 :(得分:0)
我们能够通过更改IE设置来实现这一点。
我们在可信站点中有站点URL。 在“自定义设置”下,将“用户身份验证”设置为:使用当前用户名和密码自动登录
答案 14 :(得分:0)
我找到了解决方案。首先,在inetpub下打开Web应用程序配置文件。然后你找到添加动词部分。在本节中,在安装时添加了许多动词。删除选项和Profind谓词并保存配置文件。最后测试问题并查看它。问题已经完成。
答案 15 :(得分:0)
我找到了以下解决方法:
为了简单起见:
禁用客户端集成
从网站的web.config文件中的注册行中删除OPTIONS谓词