Я бы хотел предоставить веб-часть некоторым пользователям, но не всем. Как показать или скрыть веб-часть во всплывающем окне «Добавить веб-части»? Я хотел бы сделать это с помощью кода, и я надеюсь использовать роли SharePoint, чтобы это произошло.Как я могу ограничить, какие веб-части отображаются в окне «Добавить веб-части»?
ответ
Я знаю, что вы можете управлять тем, какие веб-части отображаются в окне «Добавить веб-части» в галерее веб-частей.
Хотя я еще не сделал этого ... так как это всего лишь еще один список SharePoint, вы должны иметь возможность программно назначать роли для групп/пользователей?
Update - Так вы хотите увидеть какой-то код. Ничего особенного, просто быстрый хак. Вы обязательно захотите выполнить стандартную проверку ошибок и т. Д. 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);
}
}
Это обнадеживает, я знаю, что это можно сделать сейчас. но мне нужно сделать это с помощью кода. – coder1
Вы можете сделать это с помощью групп SharePoint.
Перейдите в галерею веб-частей, нажмите «Изменить» в веб-части, которую вы хотите охватить, затем нажмите «Управление разрешениями». Здесь вы можете указать, какие пользователи или группы могут использовать веб-часть.
Это не дубликат. –