现象
假设出现了下面这种情景:
- 启用了“ViewFormPagesLockDown”功能的发布网站或网站。
- 站点配置为匿名访问。
- 该网站包含文档库。
- 文档库包含扩展名为 ..XLSX (Excel 2007 或更高版本的格式)。
- 匿名用户双击 。要打开的 XLSX。
Sharepoint 尝试使用 XL Web 服务打开该文件。 用户看到消息“正在进行操作”,然后收到以下错误:
Excel Web Access 发生错误。
访问被拒绝
原因
匿名用户对文档库没有“OpenItems”权限。
解决方法
可以实施三种不同的解决方法来解决此问题。
解决方法 1
中断文档库的权限继承。
解决方法 2
注意
禁用“ViewFormPagesLockDown”功能可让匿名用户对可能包含敏感信息的某些文件拥有查看源权限。
使用 stsadm 禁用网站集上的“ViewFormPagesLockDown”功能:
stsadm -o deactivatefeature -url <site collection url> -filename ViewFormPagesLockDown\feature.xml
解决方法 3
注意
通过授予匿名“OpenItems”权限,匿名用户能够查看可能包含敏感信息的某些文件的源权限。
以编程方式向匿名用户授予 SPWeb 的“OpenItems”权限。 请注意,仅当理解并接受安全隐患时,才应这样做。 以下示例脚本可用于添加“打开项”权限:
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$siteUrl = "[http://URL_of_your_SITE](http://url_of_your_site/)";
$site = New-Object Microsoft.SharePoint.SPSite($siteurl);
$web = $site.OpenWeb();
$enumPerms = [Microsoft.SharePoint.SPBasePermissions];
Write-Host $web.AnonymousPermMask64;
$web.AnonymousPermMask64 = $web.AnonymousPermMask64 -bor $enumPerms::OpenItems
$web.Update();
Write-Host $web.AnonymousPermMask64;
$web.Dispose();
$site.Dispose();
更多信息
规划外部匿名访问环境(Office SharePoint Server)的安全性
仍然需要帮助? 请转到 SharePoint 社区。