14

我有一个配置为匿名访问的 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

4

16 回答 16

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>
于 2011-06-10T10:34:38.900 回答
3

如果在 MS Word 中启用了 Sharepoint 共享工作区,如果用户无权访问或创建共享工作区,这可能会提示用户使用 Windows 登录。执行以下操作将其关闭:

  1. 打开 MS Word
  2. 转到工具/选项
  3. 单击常规选项卡
  4. 单击服务选项
  5. 单击共享工作区
  6. 取消选中“文档是工作区或 SharePoint 网站的一部分”的复选框。</li>
  7. 点击确定
  8. 点击确定
  9. 尝试从 SharePoint 网站点击 MS Word 文档。

如果这解决了问题,则对每个 MS Office 程序重复步骤以消除提示。(Excel、PowerPoint、Visio 等)

http://office.microsoft.com/en-us/word/HP010414641033.aspx

于 2009-07-30T15:09:06.937 回答
1

如果您可以单击取消并出现问题是... AuthForwardServerList

http://support.microsoft.com/kb/943280

Office 不知道该站点是受信任的/本地的,因此它不会转发您的凭据并提示您有机会提供它们。这是一个特点......

如果您在正确的注册表项中列出您的站点,它将转发您不需要的凭据,但您不会收到提示。

于 2009-02-05T01:22:32.627 回答
1

不幸的是,我发现的唯一解决方法破坏了登录用户的一些功能(无法上传多个文件,连接到 Outlook 等..)

如果这是可以接受的,或者您想尝试一下,看看:

  1. 在中央管理 > 应用程序管理 > 应用程序安全 > 身份验证提供程序中,选择您的 Web 应用程序并选择您的提供程序(可能是“默认”)。

  2. 为客户端集成选择否并保存设置。

  3. 打开您的网络配置,找到该行<add verb="OPTIONS,PROPFIND,PUT,LOCK,UNLOCK.....并删除动词 OPTIONS。

不应再在 ie 中要求您提供凭据。要扭转这种情况,只需撤消这两项更改。

于 2009-01-07T20:20:35.140 回答
1

可能的原因和解决方法:http: //support.microsoft.com/kb/943280

“当您从运行 Windows Vista 或 Windows 7 且未配置代理的计算机访问 FQDN 站点时,系统会提示您输入您的凭据”

“例如,当您在未配置代理的基于 Windows Vista 的客户端计算机上使用 2007 Microsoft Office 从 Microsoft Office SharePoint 站点打开 Microsoft Office 文件时,系统会提示您进行身份验证。”

于 2011-03-29T01:09:54.927 回答
1

如果您有 url 重写模块或 urlscan,请将软件配置为发送 http 403 到 http OPTIONS 请求。

于 2010-05-07T19:01:02.830 回答
1

在 Sharepoint Server 2010 中,由于新一代的 Sharepoint 不能在 web.config 中保存动词,解决方法略有变化。因此,您必须更改方法。首先,您打开 IIS 7.0 并选择您的应用程序站点。您可以在屏幕中间看到许多项目。您选择并双击请求过滤器。在请求过滤器中,您可以看到“动词”。您可以将 OPTIONS 和 PROPFIND 动词添加到拒绝模式。最后测试您的网站。有时,Sharepoint 需要关闭您网站的客户端集成模式。如果需要,您可以在管理中心中关闭客户端集成模式。

于 2011-01-28T21:40:20.930 回答
0

使用像 Fiddler 这样的工具(在您的第一个链接参考中引用/建议,请参阅http://www.fiddlertool.com/fiddler/了解更多信息)是确定此类问题的根本原因的唯一有效方法我'我知道。无论是什么导致这将通过 HTTP 发生。像 Fiddler 这样的调试代理会准确地向您显示是哪个 URL/资源导致了身份验证请求。

在相关说明中,您是否正在运行该平台的最新版本?检查以确保 MS 尚未解决此问题(例如在修补程序中)可能是明智之举。我知道的最好的更新列表在这里:http ://www.harbar.net/articles/postsp1.aspx

于 2008-12-29T05:00:23.343 回答
0

在 IE 中打开 Office 文档时,使用 ActiveX 组件调用客户端应用程序,并提示它打开文档。在其他浏览器中,下载是由浏览器处理的标准超链接。

这是否也发生在搜索结果和文档库中的标准链接列中?

于 2008-12-26T17:17:27.617 回答
0

好像不是这样。有问题的文档中有一个是 Excel 文件,它不会使用 .doc 模板。此外,在“文档模板”对话框中,如果我基于它创建新的 Word 文档,它不会给我指向 SharePoint 模板文件的 URL。它只是说模板是“正常的”。我还尝试在文档库级别禁用模板,它不会更改密码情况。

于 2008-12-18T18:37:45.093 回答
0

勾选此项:匿名用户从 SharePoint 站点下载办公文档时删除登录框

http://www.theblackknightsings.com/RemoveLoginBoxWhenAnonymousUsersDownloadOfficeDocumentFromSharePointSite.aspx

在 SharePoint 中开发 Extranet/Internet 站点时,您通常希望允许匿名访问,这非常有效。但是,在匿名访问方面,开箱即用的体验会失败,那就是当您允许用户下载 Microsoft Office 文档时。在这种情况下,IE/Office 会弹出几个登录对话框,如果用户取消这些对话框,则文档会按预期打开,但您真的不希望用户必须取消几个对话框才能打开您的文档

问题是 Office 试图变得智能并发出 Microsoft Office 协议发现请求以查看允许用户执行多少操作,但 SharePoint 以拒绝访问作为响应,直到用户登录。

我找到的解决方案是实现一个 HttpModule,如果用户没有登录,它会拒绝 Microsoft Office 协议发现请求,这会消除登录框

于 2009-05-05T09:33:14.663 回答
0

我找到了解决方案。首先,您打开 inetpub 下的 Web 应用程序配置文件。然后你会找到添加动词部分。在本节中,安装时添加了许多动词。删除 Options 和 Profind 动词并保存配置文件。最后测试一下问题,看看。问题结束了。

于 2010-11-17T10:28:26.457 回答
0

我的猜测是 Office 客户端正在从启用匿名访问的另一个位置加载基础文档模板。这也解释了为什么您仍然可以打开文档,因为 Office 客户端也可以在不加载最初创建文档的模板的情况下工作。要在 Word 2007 中查看模板 URL,请从 Word 选项中启用开发人员功能区,然后单击功能区上的文档模板按钮。

于 2008-12-18T12:30:11.670 回答
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

这里发布了一个有趣的解决方法:http: //grounding.co.za/blogs/neil/archive/2008/11/10/workaround-sharepoint-keeps-prompting-for-login-when-creating-office-2007-文件-on-vista.aspx

最终,Vista SP1 中包含了一个补丁,但它也需要注册表编辑。我们最近刚刚在 Windows Vista SP2 客户端上使用以下步骤使其工作:

打开注册表。导航到以下子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters

创建一个名为 AuthForwardServerList 的新多字符串值,并为其指定一个值(例如): https:// .Contoso.com
http://
.dns.live.com
*.microsoft.com
https://172.169.4.6

然后重新启动 WebClient 服务。

于 2010-01-09T12:01:01.850 回答
0

我们可以通过更改 IE 设置来实现这一点。

我们在受信任的站点中有站点 URL。在自定义设置下将用户身份验证设置为:使用当前用户名和密码自动登录

于 2010-07-22T23:54:28.970 回答
0

我找到了以下解决方法:

http://www.objectsharp.com/cs/blogs/max/archive/2008/04/21/sharepoint-public-facing-website-and-microsoft-office-documents.aspx

为了简单起见:

  1. 禁用客户端集成

  2. 从站点的 web.config 文件的注册行中删除 OPTIONS 动词

于 2011-03-16T19:39:52.977 回答