2009-07-27 4 views
2

Я бы хотел предоставить веб-часть некоторым пользователям, но не всем. Как показать или скрыть веб-часть во всплывающем окне «Добавить веб-части»? Я хотел бы сделать это с помощью кода, и я надеюсь использовать роли SharePoint, чтобы это произошло.Как я могу ограничить, какие веб-части отображаются в окне «Добавить веб-части»?

+0

Это не дубликат. –

ответ

2

Я знаю, что вы можете управлять тем, какие веб-части отображаются в окне «Добавить веб-части» в галерее веб-частей.

Хотя я еще не сделал этого ... так как это всего лишь еще один список SharePoint, вы должны иметь возможность программно назначать роли для групп/пользователей?

More Info...

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); 
    } 
} 
+0

Это обнадеживает, я знаю, что это можно сделать сейчас. но мне нужно сделать это с помощью кода. – coder1

1

Вы можете сделать это с помощью групп SharePoint.

Перейдите в галерею веб-частей, нажмите «Изменить» в веб-части, которую вы хотите охватить, затем нажмите «Управление разрешениями». Здесь вы можете указать, какие пользователи или группы могут использовать веб-часть.