锁定 SharePoint Designer
锁定 SharePoint Designer
大家好!我是 SharePoint Designer 的撰稿者 Stephen,很高兴与大家再次进行交流。众所周知,SharePoint Designer 2007 是一种功能强大的 SharePoint 网站编辑工具 — 实际上,该工具如此强大,以致于使您可能希望在组织中控制用户使用 SharePoint Designer 2007 的位置和方式。
在本博客中,我将尝试回答一个很常见的问题:“如何在组织中锁定 SharePoint Designer?”我将从另一角度回答此问题,在锁定了 SharePoint Designer 的环境中会引发此问题,并且用户会问:“为什么尝试在 SharePoint Designer 中编辑网站时会出现此消息?”
用于锁定 SharePoint Designer 的方法
下表概述了可以在组织中锁定 SharePoint Designer 的各种方法。其中某些信息先前已在其他位置(Office Online、TechNet、MSDN、知识库等)发布过,但是我认为将这些信息汇总在一起会对您有所帮助。
范围 | 方法 | 启用或禁用所需的权限 |
---|---|---|
在服务器级别针对每个网站定义 | ONET.XML — 通过修改特定网站定义的 ONET.XML,来阻止所有用户打开根据该网站定义创建的所有网站(例如所有工作组网站或所有发布网站)。 | 服务器管理员 — 必须具有服务器的管理员帐户才能修改此文件。 |
在 Web 应用程序级别针对所有用户 | 管理中心中的权限 — 通过在管理中心中删除权限,来阻止所有用户打开或编辑 Web 应用程序中的所有网站。 | 网站集管理员 — 必须具有网站集管理员身份才能在管理中心中添加或删除权限。 |
在 Web 应用程序级别针对每个用户或组 | 管理中心中的策略 — 通过在管理中心中删除权限,来阻止特定用户和组打开或编辑 Web 应用程序中的所有网站。 | 网站集管理员 — 必须具有网站集管理员身份才能在管理中心中管理权限策略。 |
在网站级别针对每个用户或组 | 网站权限 — 通过从用户和组的权限级别中删除相应权限,在网站级别阻止特定用户和组打开或编辑网站。网站权限无法覆盖管理中心中的权限设置。 | 网站所有者 — 必须具有“管理权限”权限才能配置网站权限。在 SharePoint Server 2007 中,默认情况下只有“完全控制”和“管理层次结构”权限级别包含此权限。 |
在网站级别针对每个用户或组
(非安全功能) |
参与者设置 — 通过在 SharePoint Designer 2007 中禁用功能和 UI,引导受信任的用户在正确的位置执行正确的任务。“参与者设置”无法覆盖网站级别或管理中心中的权限设置。 | 网站所有者 — 必须具有“管理权限”权限才能启用或禁用“参与者设置”。在 SharePoint Server 2007 中,默认情况下只有“完全控制”和“管理层次结构”权限级别包含此权限。 |
针对每台计算机或每个用户 | 组策略 — 使用策略设置禁用 Office 程序(包括 SharePoint Designer)的 UI 中的菜单命令及其对应的工具栏按钮。还可以禁用键盘快捷方式。设置可应用于特定计算机或用户。 | Windows 管理员 — 必须是 Domain Administrators 安全组、Enterprise Administrators 安全组或 Group Policy Creator Owners 安全组的成员。 |
有关各个级别的形象概述,请参阅 MSDN:服务器和网站体系结构:对象模型概述。
权限概述
对于上述使用权限的选项,不管是在网站级别还是在管理中心中,都需要注意三个权限。
权限 | 说明 | 对使用 SHAREPOINT DESIGNER 进行编辑的影响 |
---|---|---|
添加和自定义页面 | 添加、更改或删除 HTML 页或 Web 部件页,以及使用与 Windows SharePoint Services 兼容的编辑器编辑网站。 | 如果没有此权限,则不能编辑网站根目录下的文件(例如工作组网站中的 default.aspx)或者位于列表或库之外的文件夹中的文件。 |
浏览目录 | 使用 SharePoint Designer 和 Web DAV 接口枚举网站中的文件和文件夹。 | 如果没有此权限,则不能在 SharePoint Designer 中打开网站。 |
管理列表 | 创建和删除列表、在列表中添加或删除列,以及添加或删除列表的公共视图。 | 如果没有此权限,则无法在 SharePoint Designer 中删除库、列表或者列表表单或视图(如 AllItems.aspx)。然而,如果列表不从网站继承权限,则列表权限将应用于该特定列表。请注意,默认情况下,“工作流”文档库不从网站继承权限;必须单独管理这些权限。 |
方法 1 — 禁用“添加和自定义页面”权限
如果您担心用户编辑网站中的文件,则可以清除与“添加和自定义页面”(Add and Customize Pages) 对应的复选框。这样做还会清除与某个依赖权限“管理网站”(Manage Web Site) 对应的复选框。
删除这些权限后,用户仍可以在 SharePoint Designer 中打开网站,并且可以打开和编辑可能位于网站根目录下的页面(如 default.aspx)。但是,在他们尝试保存这些更改时,会显示以下消息。
如果没有“添加和自定义页面”(Add and Customize Pages) 权限,则用户无法将已编辑页面保存到网站的根目录或网站中的任何文件夹中 — 例如,用户无法保存对位于网站根目录下的 default.aspx 所做的更改。但是,他们可以将已编辑页面保存到网站中他们具有相应权限的任意库中,或者保存到当前网站之外的位置。请记住,列表权限独立于网站权限 — 实际上,这两组权限在权限列表中包含不同的部分。因此,阻止用户保存对位于列表或库之外的文件所做的更改不会阻止他们在 SharePoint Designer 中打开网站,也不会阻止他们执行从“工作流”文档库中删除工作流或删除整个列表之类的操作。这些列表和库的权限是单独管理的(参阅下一节)。
下面是另一注意事项:如果您具有所有权限(默认的“完全控制”(Full Control) 权限级别),则您会看到“网站设置”(Site Settings) 页上的所有选项(下面的第一个图)。如果您不具有“管理网站”(Manage Web Site) 权限(取决于“添加和自定义页面”(Add and Customize Pages)),则会删掉“网站设置”(Site Settings) 页上的很多选项(下面的第二个图)。因此,在管理用户权限时应该考虑到这一点,特别是在管理中心级别进行管理时,因为您可能会阻止很多用户在他们的网站中执行重要管理任务。
方法 2 — 禁用“管理列表”权限
如上所述,如果用户可以在 SharePoint Designer 中打开网站,则他们可以(取决于他们的列表权限)删除列表和库中的内容,如工作流、列表表单,甚至整个列表。若要阻止他们这样做,必须禁用“管理列表”(Manage Lists) 权限。
删除此权限后,用户在 SharePoint Designer 中打开网站并尝试删除从网站继承权限的列表(或列表中的文件)时,他们会看到标准的“拒绝访问”(Access denied) 警告消息。
请注意,如果特定列表或库断开继承关系,则可以在该列表或库级别覆盖此权限。例如,“工作流”文档库在网站中是一个隐藏库,它默认情况下不从网站继承权限。在创建网站时,“工作流”库会获取与网站相同的权限配置,但是,您在网站级别所做的任何后续权限更改(如禁用“管理列表”(Manage Lists))不会自动向下传播到“工作流”库。
若要管理“工作流”库的权限,请在 SharePoint Designer 中打开网站,右键单击“工作流”(Workflows) 库,依次单击“属性”(Properties) 和“安全性”(Security) 选项卡,然后单击链接“使用浏览器管理权限”(Manage permissions using the browser)。
请注意,对用户禁用“管理列表”(Manage Lists) 权限还会阻止他们向列表中添加列或创建公共视图。
方法 3 — 禁用“浏览目录”权限
前面的方法阻止用户在 SharePoint Designer 中打开网站后编辑或删除该网站中的对象。还可以禁用“浏览目录”(Browse Directories) 权限,以便首先阻止用户在 SharePoint Designer 中打开网站。
禁用此权限还会禁用以下四个依赖权限:上文中已讨论过的两个权限(“添加和自定义页面”(Add and Customize Pages) 以及“管理网站”(Manage Web Site)),另外还有两个权限:“管理权限”(Manage Permissions) 和“枚举权限”(Enumerate Permissions)。
对网站(或 Web 应用程序)不具有“浏览目录”(Browse Directories) 权限的用户尝试使用 SharePoint Designer 打开该网站(或该 Web 应用程序中的任意网站)时,会看到以下消息。
然后,系统会提示他们提供新登录凭据。如果新凭据失败,则他们会看到以下消息。
不可采用的方法 — 禁用“使用远程接口”权限
看一下权限列表,您可能想禁用“使用远程接口”(Use Remote Interfaces) 权限,因为它提到使用“SharePoint Designer 接口访问网站”(SharePoint Designer interfaces to access the Web site),所以这是合理的推论,但是不要这样做!该权限具有依赖权限“使用客户端集成功能”(Use Client Integration Features),删除此权限会禁用与 Office 程序(如 Word、Excel 和 PowerPoint)的所有 SharePoint 集成。
例如,如果禁用“使用远程接口”(Use Remote Interfaces),您将发现“用 Microsoft Office Word 编辑”(Edit in Microsoft Office Word) 选项会从列表或库的项目菜单中消失。
或者,当您尝试在 Word 中查看文档的版本历史记录(“Office”按钮 >>“服务器”(Server) 菜单 >>“查看版本历史记录”(View Version History))时,您会看到以下消息。
并且所有其他强大功能(如工作流集成)都会被禁用,因此禁用“使用远程接口”(Use Remote Interfaces) 不是 控制使用 SharePoint Designer 进行访问的正确方法。
在服务器级别针对每个网站定义 — ONET.XML
如果您是服务器管理员,则可以通过修改服务器上的 ONET.XML 文件来阻止用户在 SharePoint Designer 2007 中打开网站。每个网站定义都包含一个 ONET.XML 文件,并且更改此文件将影响基于该网站定义的所有网站。例如,可以修改“sts”网站定义的 ONET.XML,这样将阻止所有用户在 SharePoint Designer 中打开根据此网站定义创建的所有工作组网站。不存在控制所有网站定义的“uber-ONET.XML”文件。
更改 ONET.XML 是影响服务器上所有网站的全局更改。
1) 在服务器上,打开 Windows 资源管理器并浏览到包含网站定义的文件夹:
<驱动器:> \Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\SiteTemplates\ <网站类型> \XML
下面是运行 SharePoint Server 2007 的服务器的网站模板。Windows SharePoint Services 包含的网站模板较少。每个网站模板都有它自己的 ONET.xml 文件。
一些文件夹名称的含义不太明确,为了便于快速参考,下表将这些文件夹映射到网站名称。
文件夹 | 网站名称 |
---|---|
BDR | 文档中心 |
BLANKINTERNET | 使用工作流发布网站 |
BLANKINTERNETCONTAINER | 发布门户 |
Blog | 博客 |
CENTRALADMIN | 管理中心 |
MPS | 包含以下项的网站定义配置:
|
offile | 记录中心 |
OSRV | 共享服务管理 |
PROFILES | 配置文件 |
PUBLISHING | 发布网站 |
SPS | SharePoint Portal Server 网站(旧模板 - 此模板已过时) |
SPSCOMMU | 社区区域模板(旧模板 - 此模板已过时) |
SPSMSITE | 个性化网站 |
SPSMSITEHOST | 我的网站宿主 |
SPSNEWS | 新闻网站(旧模板 - 此模板已过时) |
SPSNHOME | 新闻网站 |
SPSPERS | SharePoint Portal Server 个人空间 |
SPSPORTAL | 协作门户 |
SPSREPORTCENTER | 报告中心 |
SPSSITES | 网站目录 |
SPSTOC | 内容区域模板(旧模板 - 此模板已过时) |
SPSTOPIC | 主题区域模板(旧模板 - 此模板已过时) |
SRCHCEN | 带选项卡的搜索中心 |
SRCHENTERLITE | 搜索中心 |
sts | 包含以下项的网站定义配置:
|
Wiki | Wiki |
2) 右键单击网站定义的 ONET.XML 文件并使用记事本打开该文件。
3) 在 Project 开始标记中添加以下行:
DisableWebDesignFeatures=wdfopensite
4) 保存文件并关闭记事本。
5) 在服务器上,运行 iisreset。
(单击“开始”,单击“运行”,键入 cmd,单击“确定”。在命令提示符下,键入 iisreset 计算机名称 /restart,然后按 Enter。)
6) 如果您在 SharePoint Designer 中打开了此类型的网站,请关闭 SharePoint Designer。
尝试在 SharePoint Designer 中打开网站时,您应该会看到以下消息。
详细信息
TechNet:特殊目录和存储位置(Office SharePoint Server)
在 Web 应用程序级别针对所有用户 — 管理中心权限
在管理中心,您可以启用或禁用 Web 应用程序中所有用户和组的权限。像这样集中管理权可能非常便利,因为一个 Web 应用程序可以包含 150,000 个网站集。在 Web 应用程序中清除某一权限对应的复选框后,无法将该权限分配给 Web 应用程序中任何网站集中任何网站的任何用户或组。
浏览到管理中心网站。在“应用程序管理”(Application Management) 选项卡上,单击“Web 应用程序的用户权限”(User Permissions for Web Application)。
在下一页上,您将看到在管理单个网站的权限级别时看到的相同权限列表(但有一个例外:在管理中心中,还有另外一个名为“使用自助式网站创建”(Use Self-Service Site Creation) 的权限)。
禁用特定权限的影响已在上文中讨论过,但在管理中心中,阻止用户在 SharePoint Designer 中编辑网站的最简单方式是禁用“浏览目录”(Browse Directories) 权限,以便他们根本无法在 SharePoint Designer 中打开网站 — 并且会说明这些用户因此无权在浏览器中访问“网站设置”(Site Settings) 页上的所有选项并且无法管理 Web 应用程序中任何网站的权限。
详细信息
TechNet:管理 Web 应用程序的权限(Office SharePoint Server)
在 Web 应用程序级别针对每个用户或组 — 管理中心策略
上一节介绍的方法(Web 应用程序的权限)是一项综合设置,它涉及 Web 应用程序中所有网站集的所有用户和组。如果您需要更加精细地控制,则可以设置 Web 应用程序中特定用户或组的权限。您可以通过创建 Web 应用程序策略来执行此操作。Joel Olson 的博客提供了一些说明 Web 应用程序策略作用的很好的示例(该链接可能指向英文页面)。
Joel 提到,Web 应用程序策略是集中管理权限的一种方式,并且不同于信息管理策略(审核、过期、标签、条码),信息管理策略用于管理列表或库中的数据。
浏览到管理中心网站。在“应用程序管理”(Application Management) 选项卡上,单击“Web 应用程序的策略”(Policy for Web Application)。
在管理中心中管理权限策略与在 SharePoint 工作组网站中管理权限非常相似。可以添加用户、配置权限级别,然后向用户分配权限级别。
除了在策略中设置权限的技巧之外,每个权限对应两个复选框:“授予”(Grant) 和“拒绝”(Deny)。如果将两个复选框均保留为空,则表示策略未明确授予或拒绝此权限,因此将由 Web 应用程序中的网站所有者判断用户是否具有此权限。如果在 Web 应用程序策略中明确授予了某一权限,则用户具有该权限并且网站所有者不能在网站级别覆盖此权限。同样,如果明确拒绝某一权限,将阻止用户拥有此权限。
您在此处选择的使用权限锁定 SharePoint Designer 的方法与上文中提到的方法相同。为了便于快速参考,下表显示哪些默认策略权限级别授予或拒绝这些权限。在此处锁定 SharePoint Designer 的最简单途径是添加明确拒绝“浏览目录”(Browse Directories) 的新权限策略级别(并且会说明上文所述的依赖关系),然后将该策略分配给特定用户或组。
权限策略级别 | 添加和自定义页面 | 浏览目录 | 管理列表 |
---|---|---|---|
完全控制 | 授予 | 授予 | 授予 |
完全读取 | 空白(既不授予也不拒绝) | 授予 | 空白(既不授予也不拒绝) |
拒绝写入 | 拒绝 | 空白(既不授予也不拒绝) | 拒绝 |
全部拒绝 | 拒绝 | 拒绝 | 拒绝 |
详细信息
TechNet:通过策略管理权限 (Office SharePoint Server)
在网站级别针对每个用户或组 — 网站权限
网站所有者可以设置每个用户和每个网站的权限。
如果网站不继承权限:
· 单击“网站操作”(Site Actions) 菜单 >>“网站设置”(Site Settings) >>“高级权限”(Advanced Permissions) >>“设置”(Settings) 菜单 >>“权限级别”(Permission Levels)
如果网站继承权限:
· 单击“网站操作”(Site Actions) 菜单 >>“网站设置”(Site Settings) >>“高级权限”(Advanced Permissions) >>“操作”(Actions) 菜单 >>“编辑权限”(Edit Permissions) >> 单击“确定”(OK) >>“设置”(Settings) 菜单 >>“权限级别”(Permission Levels)
在网站级别,为您提供了相同的权限并且它们具有上文中所述的相同依赖关系。为了便于快速参考,下表显示 SharePoint Server 2007 中的哪些默认权限级别包含这些权限。
权限级别 | 添加和自定义页面 | 浏览目录 | 管理列表 |
---|---|---|---|
完全控制(Owners 组) | 是 | 是 | 是 |
设计 | 是 | 是 | 是 |
管理层次结构 | 是 | 是 | 是 |
批准 | 否 | 是 | 否 |
参与(Members 组) | 否 | 是 | 否 |
读取(Visitors 组) | 否 | 否 | 否 |
仅查看(Viewers 组) | 否 | 否 | 否 |
受限访问 | 否 | 否 | 否 |
最简单的指导原则如下所示:
· 若要阻止用户在 SharePoint Designer 中打开网站,请将这些用户添加到 Visitors 组中。请注意,访问者还无法在浏览器中编辑列表或库中的项目或文件。
· 若要阻止用户在 SharePoint Designer 中编辑网站,请将这些用户添加到 Members 组中。成员可以在浏览器中编辑列表或库中的项目或文件。他们还可以在 SharePoint Designer 中打开(但是不能编辑)网站。
· 若要允许用户在 SharePoint Designer 中编辑网站,但是不允许他们执行网站所有者类型的任务(如管理权限),请创建 Designers 组并为该组分配“设计”权限级别。具有“设计”权限级别的用户可以在 SharePoint Designer 中打开和编辑网站,但是他们不具有“管理权限”(Manage Permissions) 权限。
请记住,网站级别的权限由 Web 应用程序级别的权限覆盖。即使您为某一用户分配了网站的“完全控制”(Full Control) 权限级别,如果在管理中心中删除或拒绝了所需的权限,则也将拒绝该用户进行访问。
详细信息
在网站级别针对每个用户或组(非安全功能) — 参与者设置
可以使用参与者设置功能启用和配置参与者模式,它是 SharePoint Designer 2007 中的受限访问模式。在 SharePoint Designer 2007 中打开网站进行编辑的用户可以访问不同的命令和功能,具体取决于他们所属的 Contributor 组以及为该 Contributor 组分配了哪些编辑限制。
在“网站”(Site) 菜单上,单击“参与者设置”(Contributor Settings)。
“参与者设置”(Contributor Settings) 对哪些用户可以在 SharePoint Designer 2007 中执行哪些任务提供细化控制。但是,请记住以下两个要点:
· 与权限不同,“参与者设置”(Contributor Settings) 不是安全功能。参与者模式设计用于网站所有者确信他们了解用户意图的环境。参与者模式可帮助引导用户按照特定的思路执行任务并且这种引导可以阻止意外更改网站。
· 用户的“参与者设置”(Contributor Settings) 无法覆盖其权限允许他们执行的操作。权限是一项安全功能;“参与者设置”(Contributor Settings) 不是安全功能;如果二者冲突,则权限始终优先于“参与者设置”(Contributor Settings)。
若要启用或禁用“参与者设置”(Contributor Settings),必须具有“管理权限”(Manage Permissions) 权限。在 SharePoint Server 2007 中,默认情况下只有“完全控制”(Full Control) 和“管理层次结构”(Manage Hierarchy) 权限级别包含此权限。因此,默认情况下,只有 Owners 组中的用户可以禁用“参与者设置”(Contributor Settings)。
最后,如果用户尝试将文件保存到其“参与者设置”(Contributor Settings) 不允许的位置,他们会看到常见的“拒绝访问”(Access denied) 消息。
只能基于每个网站配置“参与者设置”(Contributor Settings),这些设置存储在 .htm 文件中。但是,可以对临时网站配置这些设置,保存 .htm 文件,然后使用 File 元素将此文件包含在网站定义中。这样,根据此网站定义创建的所有网站都将共享相同的“参与者设置”(Contributor Settings)。
详细信息
Office Online:使用“参与者设置”作为网站管理器
每个用户或每台计算机 — 组策略
在基于 Windows 的网络中,管理员可以使用组策略设置帮助控制用户使用 2007 Microsoft Office system(包括 SharePoint Designer 2007)的方式。管理员可以使用组策略设置定义和维护用户计算机上的 Office 配置。与其他自定义设置(例如,在安装程序自定义文件中分发的默认设置)不同,策略设置是强制应用的,并且可用于创建严格管理或宽松管理的配置,例如,管理员可以使用策略设置禁用用户界面菜单命令及其对应的工具栏按钮和键盘快捷方式。
您可以创建适用于本地计算机和该计算机上每个用户的策略设置,或者仅适用于单个用户的策略设置:
· 将在任意用户从该计算机首次登录到网络时应用每台计算机的策略设置。
· 将在指定用户从任意计算机登录到网络时应用每个用户的策略设置。
组策略完全独立于管理中心中的权限策略以及适用于列表或库的信息管理策略。组策略不控制对 SharePoint 部署中网站或网站集等对象的访问。实际上,组策略可以禁用 SharePoint Designer 2007 用户界面中的命令和按钮。例如,如果不希望用户执行占用大量资源的任务(如在高峰运行期备份网站),您可以使用组策略对特定计算机或用户禁用 SharePoint Designer 中的“备份网站”命令。
禁用 UI 将要求您指定 2007 Office system 控件的工具栏控件 ID (TCID)。对于使用功能区的 Office 2007 程序,此下载(该链接可能指向英文页面)提供了 TCID 列表。
在 SharePoint Designer 2007 中,可以使用用于 Office 2003 的相同 VBA 获取控件 ID。您可以在 Office Online:通过策略管理用户配置(该链接可能指向英文页面)中找到相关步骤和 VBA 代码段。
附件
为了便于快速参考,本博客中附加的电子表格列出了 SharePoint Designer 2007 中所有菜单和命令的 TCID。
详细信息
TechNet:在 2007 Office system 中使用组策略强制应用设置(该链接可能指向英文页面)
TechNet:禁用用户界面项和快捷键(该链接可能指向英文页面)
Office Online:通过策略管理用户配置(该链接可能指向英文页面)
这是一篇本地化的博客文章。请访问 Locking Down SharePoint Designer 以查看原文
!-->