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

时间:2010-02-02 12:37:26

标签: sharepoint

(关于Moss 2007)

我创建了一个共享点列表,其中一列被称为用户分配 - 这是一个类型为人员和组的查找列。

我从活动目录中选择用户以进入列表的此字段。

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

我已创建此列表的权限,以便读取和写入活动目录中的用户。

以便当特定用户使用其凭据登录sharepoint网站时。他对列表有读写权限。

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

2 个答案:

答案 0 :(得分:1)

如果权限确实设置正确,您只需要转到“列表设置”,“高级设置”,“项目级别权限”和“读取权限:指定用户可以阅读的项目”,您可以定义自己的权限。

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

答案 1 :(得分:1)

我一直在实施这样的解决方案。这是可能的,但

  1. 需要做很多工作
  2. 如果长期使用和/或数据量很大,这将达到性能
  3. 如果这些都不是您的问题,那么您可以:

    • 创建对项目执行BreakRoleInheritance()的代码,然后在“用户分配”列中为用户添加ViewListitems权限。您可以在此处找到示例代码:http://social.msdn.microsoft.com/Forums/en/sharepointecm/thread/581e456c-db3c-44f1-b958-a824d95a2536(或在Google中搜索“SPPrincipal”和“SPRoleAssignment”以获取更多信息)
    • 每当添加或更新项目时都会调用此代码(您必须等待“-ed”事件,因为在这些事件的同步版本中,您无法更改权限,例如在“ItemAdding”中“还没有创建项目。”您可以通过向列表添加事件处理程序来实现此目的。