sharepoint是否具有逐项权限,就像它具有列表权限一样

sharepoint是否具有逐项权限,就像它具有列表权限一样,sharepoint,Sharepoint,(关于Moss 2007) 我已经创建了一个sharepoint列表,其中一列称为“用户分配”-这是一个类型为“人员和组”的查找列 我从active directory中选择用户以输入列表的此字段 因此,此列表中的不同项目分配了不同的用户 我有创建此列表的权限,可以对active directory中的用户进行读写 因此,当特定用户使用其凭据登录sharepoint网站时。他拥有对列表的读写权限 现在,sharepoint中是否有任何方法可以让用户在登录网站时看不到整个列表。他只看到列表中用户指

(关于Moss 2007)

我已经创建了一个sharepoint列表,其中一列称为“用户分配”-这是一个类型为“人员和组”的查找列

我从active directory中选择用户以输入列表的此字段

因此,此列表中的不同项目分配了不同的用户

我有创建此列表的权限,可以对active directory中的用户进行读写

因此,当特定用户使用其凭据登录sharepoint网站时。他拥有对列表的读写权限


现在,sharepoint中是否有任何方法可以让用户在登录网站时看不到整个列表。他只看到列表中用户指定字段为他唯一的项目。

如果权限确实设置正确,您只需转到列表设置、高级设置、项目级权限,然后在“读取访问:指定用户可以读取的项目”中定义自己的项目


如果用户不是项目的创建者,则需要转到“列表设置”、“视图”(位于最底部),修改“所有项目”视图(或您作为默认设置的w/e),转到“过滤器”部分并添加一个过滤器,如:“仅在以下情况为真时显示项目”,“在指定给的列“等于[me]时显示项目”

我实施此类解决方案已有一段时间了。这是可能的,但是

  • 这需要做很多工作
  • 如果长期使用和/或数据量大,这将影响性能
  • 如果这些都不是你的问题,那么你可以:

    • 创建对项目执行
      BreakRoleInheritance()
      的代码,然后在“用户指定”列中为用户添加
      ViewListitems
      权限。例如,您可以在这里找到示例代码:(或在谷歌中搜索“SPPrincipal”和“SProleAttimation”以获取更多信息)
    • 在添加或更新项目时调用此代码(您必须等待“-ed”事件,因为在这些事件的同步版本中,您还不能更改权限,例如在“ItemAdding”中,还没有创建项目)。可以通过向列表中添加事件处理程序来实现这一点

    添加一个过滤器就可以了。。但是,用户总是可以行为不端,删除/修改不属于他的项目。我们能做些什么呢?在上面的两个示例中,未经项目许可的用户无法看到它们。