SharePoint 2010 中,控制用户对列表的访问有很多种方式。这次先整理其中的两个实际控制手段。
不过,需要说明的是,SharePoint 2010 中的各种用户访问控制不是孤立的,各个手段可以一起对访问对象进行控制。比如第二部分中整理的用户组、权限级别、权限,对 SharePoint 站点和列表同样有效,我们同样可以在列表中设置用户组的访问权限。
一、Item-Level Permissions(列表项级权限)
在“列表设置”界面,点击“Advanced Settings(高级设置)”即可看到对于列表项的访问控制选项。
Item-Level Permissions 分为读取和修改两组设置
1、Read Acces(读取)
对于单个列表项的读取权限,只有2个选项,
1、Read all Items,当前用户(能否访问列表的人)可以看见所有的列表项。
2、Read Items when created by the user, 当前用户只能读取(看见)自己创建的列表项,哪怕你是列表的Owner都不能看到别人创建的列表项;
这是个让人很恼火的设定。因为在应用审批工作流的时候,审核人也需要有访问列表项的权限。所以,我们非常需要微软提供第三个选项:“Read Items when created by the user or to be approved by the user”,即作者和审核人可见。
可是,微软没有提供。如果你真正认真的开始使用SharePoint,那么这个缺憾会一直伴随着你,让你本来简洁优雅的设计被打乱。当然,这个缺陷现在并不是不可弥补的,只不过,要付出很大的代价。
2、Create & Edit Access(创建和修改权限)
对于单个列表项的创建和编辑权限,有3个选项,
1、Create and Edit all items,当前用户可以创建列表项并修改所有列表项(包括别人创建的项),这个设置,在我看来,只有Wiki网页库才需要这样设置。
2、Create items and edit items that were created by the user,当前用户可以创建列表项并修改他(她)自己创建的列表项,这是很reasonable的设置。
3、None,无人可以创建和修改任何列表项。
二、Draft Item Security(草稿项安全设置)
草稿项,即在开通 Content Approval 后,未得到审核人批准的列表项。
该项在列表的设置界面中,通过“Versioning Settings”来调整。
必须先开启“内容审核(Content Approval)”才能使用草稿项安全设置。
该设置有3个选项,
1、Any user who can read items,任何可以读取列表项的用户都可以看到草稿项。显然,一般不会考虑这个选项。
2、Only users who can edit items,只有对列表项有编辑权限的用户可以看到草稿项。
3、Only users who can approve items (and the author of the item) ,只有作者和审核人可以看到。这看似是一个很合理的选择。但是,你必须在前面说过的“Item-Level Permissions”里面将“Read Access”设置为“Read All Items”才能让审核者有权限看到列表项。但是,这也意味着,一旦列表项审核通过,则所有人都可以看见它!
为了控制好对列表项的访问,我们不得不面对SharePoint提供的工具及其不足。后续,我会再慢慢整理各种应对的解决方案。