我想向某些用户公开 Web 部件,但不是全部。如何在“添加 Web 部件”弹出窗口中显示或隐藏 Web 部件?我想通过代码来实现这一点,并且希望使用 SharePoint 角色来实现这一点。
最佳答案
我知道您可以管理 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);
}
}
关于sharepoint - 如何限制“添加 Web 部件”窗口中显示的 Web 部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1190336/