按“组的当前用户成员”筛选SharePoint列表

时间:2019-11-26 16:26:37

标签: sharepoint sharepoint-online sharepoint-list

我有一个SharePoint在线列表,在该站点上组织中的每个人都有读取权限。 该列表包含3列:“标题”,“链接”,“网站”,并且是来自不同SharePoint网站,具有不同成员的页面的目录表。该列表由Flows填充,该Flows在页面发布时触发,页面名称遵循模式。

例如:

第1条|链接到第1条|财务

第2条|链接到文章2 |管理

我想过滤此列表,以便每个用户仅看到指向其所属站点的链接。

查看上面的示例,如果当前用户是财务团队的成员,但不是行政部门的成员,则他应该只看到第1条。

是否可以通过SharePoint视图筛选或视图格式化json来做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在列表中添加第四列(组),其类型为“用户/组”,并在其中填充一个或多个应查看的组。之后,您可以使用CAML 成员身份元素进行过滤。

基本上,您的SPView.Query应该类似于(如果ShowForGroups是包含组的列的内部名称):

<Where>
   <Or>
      <Eq>
         <FieldRef Name="ShowForGroups" />
         <Value Type="Integer">
            <UserID />
         </Value>
      </Eq>
      <Membership Type="CurrentUserGroups">
         <FieldRef Name="ShowForGroups" />
      </Membership>
   </Or>
</Where>

但是,您将无法使用SharePoint视图创建页面来创建这种视图,您将需要使用powershell。

相关问题