我正在开发一个sharepoint 2010项目。 我想根据用户的身份限制用户对列表的查看。 (例如,他们所在的组织分支,但事实上,限制可能会更复杂)。
您推荐什么解决方案?
答案 0 :(得分:2)
开箱即用功能无法实现。您可以不遗余力地删除列表的视图选择器和其他导航元素,让人们围绕列表的架构和元数据巡航,但它不是安全机制。
如果用户对某个项目具有读取权限,则他们对该项目的所有字段都具有读取权限。
您有可能禁用所有RPC机制,SOAP,RESTful Web服务,客户端对象模型以及您可能将其声称为安全机制的Office客户端。如果不这样做,总会有一种绕过“安全”方案的方法。
答案 1 :(得分:1)
此功能目前无法由SharePoint实施,我认为不适用于下一个版本
您可以使用第三方工具来实现它,例如BoostSolutions' Column/View Permission或LightningTools' DeliverPoint
顺便说一下,我为BoostSolutions工作,我提到了我们自己的产品,因为它适用于您的问题。希望它有所帮助:)答案 2 :(得分:0)
根据您的要求或不同类型的用户群创建sharepoint组,并相应地赋予他们权限可以是项目级别或完整列表
并且在做这些事情时只需浏览以下帖子
http://blogs.gartner.com/neil_macdonald/2009/02/25/sharepoint-security-best-practices/
答案 3 :(得分:0)
对于SharePoint 2010而言,并非100%确定,但对于SharePoint 2007,definitley无法做到这一点,尤其是如果视图与用户能够看到的列的安全要求相对应。
解决此问题的一种方法是让用户无法访问该列表,然后让代码逻辑允许访问数据,从而在Web部件等数据上创建不同的“视图”。这样做的缺点是搜索成为一个问题(因为数据被隐藏),并且数据的多个“视图”(如果需要)也是另一个需要解决的问题。
答案 4 :(得分:0)
我知道这是一个非常古老的问题,但发布它可能对某人有帮助。 正如here
所述,有一项工作要做答案 5 :(得分:0)
如果可能的话,我发现创建视图并使用列表设置页面上的过滤器将其锁定会更容易。
例如,我有一份包含员工ID的员工列表。我在其他页面上使用该列表来收集其他webparts中的数据。所以我将员工列表过滤到[ME]。因此,数据可用于需要它过滤其他人的页面,他们看不到任何其他内容。
现在,那个需要管理该页面的人呢?我创建了一个视图,称之为HR。这种观点可以看到一切。然后我通过设计器将该列表视图导出该webpart。然后,我从员工列表中删除HR视图。
任何人都无法切换视图并再次查看所有内容。我为管理它的人创建了一个webpart页面,我上传了该webpart并将webpart的视图设置为HR。最后,我有一个我锁定的页面,而不是单独锁定视图或列出权限。
答案 6 :(得分:-1)
您是否可以拥有两个已加入的列表。一个是所有用户都可以访问的,另一个只有某些人可以访问,然后加入它们?也许那些无法访问另一个表的人不会提取信息?不确定,但我会在今天晚些时候试试。