2011-04-24 15 views
1

我正在开发SharePoint 2010项目。 我想根据用户的身份限制用户对列表的查看。 (例如他们工作的组织的分支机构,但实际上这些风险可能会更加复杂)。限制Sharepoint列表中用户的视图

你推荐什么解决方案?

+0

谢谢大家,我自己还没有发现比UI技巧更好的东西,我认为这是一个常见要求,奇怪的是它在Sharepoint上缺失。 – 2011-04-25 05:58:22

回答

0

不能100%确定在SharePoint 2010,但definitley SharePoint 2007的,没有办法做到这一点,特别是如果视图s对应于用户能够看到的列的安全要求。

解决此问题的一种方法是让用户无法访问列表,然后让代码逻辑访问数据,从而在Web部件之类的数据上创建不同“视图”。这样做的缺点是搜索成为一个问题(因为数据是隐藏的)并且有多个数据“视图”(如果有必要)也是另一个需要解决的问题。

2

随着开箱即用的功能,这是不可能的。您可以尽力删除列表的视图选择器和其他导航元素,让人们可以在列表的模式和元数据周围漫游,但它不是安全机制。

如果用户有权限读取的项目,他们会读访问该项目的所有领域。

您可能会禁用所有RPC机制,SOAP,RESTful Web服务,客户端对象模型和您可能声称为安全机制的Office客户端。如果你不这样做,那么你的“安全”计划将永远存在。

-1

你能够有被连接两个列表。一个所有用户都可以访问,另一个只有某些人可以访问,然后加入他们?那么也许那些无法访问另一个表的人不会获取信息?不确定,但我会在今天晚些时候尝试。

+1

这不仅仅是一个答案而是一个评论。 – MyCodeSucks 2013-08-15 17:17:40

0

我知道它的一个非常古老的问题,但张贴,因为它可能帮助别人。 有一个变通的描述here

1

此功能不能由SharePoint实现做现在,我认为既不是为了下一个版本

您可以使用第三方工具来实现它,如BoostSolutions'Column/View Permission或LightningTools'DeliverPoint

顺便说一句,我为BoostSolutions工作,我提到了我们自己的产品,因为它适用于您的问题。希望它有帮助:)

0

我发现它更容易,如果可能,创建视图并使用列表设置页面上的过滤器锁定它。

例如,我公司员工,其中包括他们的员工ID的列表。我在其他页面上使用该列表来收集其他Web部件中的数据。所以我将员工名单过滤到[ME]。因此,数据可用于需要过滤其他数据的页面,而且他们看不到任何其他数据。

现在,关于谁需要管理该页面的人呢?我创建一个视图,称之为人力资源。这个观点可以看到一切。然后,我通过设计器将该webpart与该列表视图导出。然后我从员工列表中删除HR视图。

这不会让任何人切换视图并再次查看所有内容。我为管理它的人员创建了一个webpart页面,并且我上传了该webpart并将webpart的视图设置为HR。最后,我锁定了一个页面,而不是单独锁定视图或列出权限。