2

我想向一些用户公开 Web 部件,但不是所有用户。如何在“添加 Web 部件”弹出窗口中显示或隐藏 Web 部件?我想通过代码来做到这一点,我希望使用 SharePoint 角色来实现这一点。

4

2 回答 2

2

我知道您可以管理在 Web 部件库的“添加 Web 部件”窗口中显示哪些 Web 部件。

虽然我还没有这样做...因为它只是另一个 SharePoint 列表,您应该能够以编程方式将角色分配给组/用户?

更多信息...

更新- 因为您想查看一些代码。没什么特别的,只是快速破解。您肯定会想要进行标准错误检查等。HTH :-)

using (SPSite site = new SPSite("YOUR SP URL"))
{
  using (SPWeb web = site.OpenWeb())
  {
    SPList list = web.Lists["Web Part Gallery"];

    // Your code for choosing which web part(s) to modify perms on
    // will undoubtedly be more complex than this...
    SPListItem listItem = list.GetItemById(19);

    SPPrincipal groupToAdd = web.SiteGroups["YOUR GROUP NAME"] as SPPrincipal;

    SPRoleAssignment newRoleAssignment = new SPRoleAssignment(groupToAdd);
    SPRoleDefinition newRoleDefinition = web.RoleDefinitions["Read"];
    newRoleAssignment.RoleDefinitionBindings.Add(newRoleDefinition);

    listItem.RoleAssignments.Add(newRoleAssignment);
  }
}
于 2009-07-27T20:16:35.133 回答
1

您可以使用 SharePoint 组来执行此操作。

转到 Web 部件库,单击您希望确定范围的 Web 部件上的“编辑”,然后单击“管理权限”。您可以在此处指定哪些用户或组可以使用 Web 部件。

于 2009-07-28T18:14:01.387 回答