我想向一些用户公开 Web 部件,但不是所有用户。如何在“添加 Web 部件”弹出窗口中显示或隐藏 Web 部件?我想通过代码来做到这一点,我希望使用 SharePoint 角色来实现这一点。
问问题
2685 次
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 回答