Je voudrais exposer une partie Web à certains utilisateurs, mais pas tous. Comment puis-je afficher ou masquer un composant WebPart dans la fenêtre contextuelle Ajouter des composants WebPart? Je voudrais le faire par le biais du code, et j'espère utiliser les rôles SharePoint pour y arriver.Comment puis-je restreindre l'affichage des composants WebPart dans la fenêtre Ajouter des composants WebPart?
Répondre
Je sais que vous pouvez gérer les composants WebPart qui s'affichent dans la fenêtre Ajouter des composants WebPart de la galerie WebPart.
Alors que je ne l'ai pas fait ... puisqu'il s'agit juste d'une autre liste SharePoint, vous devriez être capable d'assigner des rôles aux groupes/utilisateurs par programmation?
Mise à jour - Puisque vous voulez voir le code. Rien de spécial, juste un hack rapide. Vous aurez certainement envie de faire votre vérification d'erreur standard, etc. 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);
}
}
c'est encourageant, je sais que cela peut être fait maintenant. mais je dois le faire avec du code. – coder1
Vous pouvez le faire avec les groupes SharePoint.
Accédez à la Galerie de composants WebPart, cliquez sur "Modifier" dans la partie Web que vous souhaitez examiner, puis cliquez sur Gérer les autorisations. Vous pouvez indiquer ici quels utilisateurs ou groupes peuvent utiliser le composant WebPart.
Ce n'est pas un doublon. –