Sharepoint项目级别的访问和性能
我创建了一个工作流活动,该活动确实赋予了特定列表的项目创建者对该项目的完全控制权,并将其他所有人设置为只读访问权限(权限)
有人告诉我,这样做(如果我有很多用户的话),性能会大大下降
那是对的吗 ?!!
如果是,创建列表的最佳解决方案是什么,任何人都可以创建新项目,但是创建该项目后,只有创建者可以编辑它,其余用户只能读取它
解决方案
回答
是的,我们可以通过工作流程来解决此问题,但这可能有点笨拙,并且可能会使服务器速度变慢。
更好的选择是使用"列表设置">"高级设置">"项目级别权限"。
此功能不适用于文档库和表单库。
回答
当我们为每个列表项使用大型ACL时,性能将会降低。只要确保项目级权限基本上具有最少的条目即可。例如:
- 有权编辑该项目的用户
- 单个安全组,其中包含仅具有读取者权限的所有用户。
因此,Sharepoint可以提供这些默认权限OOB吗?不是我知道的。我能想到的唯一选择是使用在上载文档时自动设置这些权限的工作流。
如果要避免性能下降,请确保在"细粒度权限"列表中绝不显示(或者使用对象模型进行迭代)超过2000项。那肯定会引起主要的性能问题。
回答
确实,包含大量已应用自定义权限的项目的列表会降低服务器的速度。这是正式的Microsoft纸计划软件边界中的文档。
推荐的数字是2000。继续进行下去不会破坏任何东西,但是可能会导致性能问题。
回答
接受的答案实际上并未正确回答问题...
如果我们希望人们能够编辑他们创建的项目而只阅读他们没有创建的项目,则不应使用工作流来执行此操作,请使用"列表->设置->高级设置->项目级别权限",并且可用于文档库(因为它们是从SPLIST继承的),只是它没有显示在UI的"高级设置"中。我们可以在文档库上将ReadSecurity属性设置为1,将WriteSecurity属性设置为2.
http://msdn.microsoft.com/zh-CN/library/microsoft.sharepoint.splist.writesecurity.aspx