sharepoint - 如何限制“添加 Web 部件”窗口中显示的 Web 部件?

标签 sharepoint web-parts security-roles

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

最佳答案

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

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

More Info...

更新 - 因为您想查看一些代码。没什么特别的,只是一个快速破解。您肯定会想要进行标准错误检查等。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/

相关文章:

html - IE 不使用怪癖模式所需的最低文档类型是什么?

java - 我可以从客户端检测当前用户有权使用哪些 EJB 吗?

.net - 如何从事件处理程序中的 SPItemEventProperties 获取当前添加的项目到 SPList?

.NET 调用 SharePoint Web 服务收到 HTTP 401 未经授权的异常

html - 我们如何从自定义列表中的元素中删除默认的蓝色背景?

c# - 如何获取除表单模板、样式、自定义报告之外的所有文档库

sharepoint - 在 ASP.NET 中开发 SharePoint Web 部件

c# - 如何列出请求用户在 WCF 服务中的角色?

c# - 使用 C# 获取服务器和映射驱动器的 ACL 列表

sharepoint - SharePoint搜索外部数据库