Le SPSecurityTrimmedControl est un WebControl présent dans le framework de sharepoint. Il permet d'afficher ou de cacher certaines parties de l'interface en fonction des permissions assignées à l'utilisateur connecté.
Le contenu peut être du code Html ou des contrôles Asp.Net.
Le SPSecurityTrimmedControl posséde un attribut "PermissionString" qui permet de définir là où les permissions requises pour afficher le contenu du contrôle.
C'est un contrôle idéal pour traiter la sécurité dans une master page ou dans une page aspx, mais aussi dans vos webpart.
Les deux attributs principaux du contrôle sont :
- PermissionString (requis)
Définit les permissions requises pour afficher le contenu du contrôle. - PermissionMode(Optionnel)
Définit le mode de traitement si plusieurs permissions ont été saisies. Les choix possibles sont : "PermissionMode.All" et "PermissionMode.Any"
SPSecurityTrimmedControl en "Asp.Net"
Le SPSecurityTrimmedControl est un "templated control", vous pouvez donc définir directement en ASP quels sont les contrôles qui seront affichés si l'utilisateur a les permissions requises.
Voici un exemple :
<SharePoint:SPSecurityTrimmedControl PermissionsString="AddAndCustomizePages, ManageLists" runat="server"> Vous pouvez voir ça car vous avez les permissions
"AddAndCustomizePages" & "ManageLists" </SharePoint:SPSecurityTrimmedControl>
Le résultat sera le suivant :
SPSecurityTrimmedControl en C#
Voici un exemple d'utilisation dans du code C#. Le contrôle est défini dans le namespace "Microsoft.Sharepoint.WebControls" (Microsoft.SharePoint.Dll)
Pour l'utiliser, il faut :
- Définir une instance de SPSecurityTrimmedControl
- Affecter les permissions.
- Définir les contrôles à afficher si l'utilisateur connecté a les permissions
- Ajouter les contrôles à la collection de contrôle du SPSecurityTrimmedControl.
Voici un exemple :
SPSecurityTrimmedControl stcEditItem= new SPSecurityTrimmedControl(); stcEditItem.Permissions = SPBasePermissions.EditListItems; Literal litEditItem = new Literal(); litEditItem.Text = “My Content”; stcEditItem.Controls.Add(litEditItem); this.Controls.Add(stcEditItem);
Les permissions du SPSecurityTrimmedControl
Le SPSecurityTrimmedControl supporte toutes les permissions disponibles dans sharepoint.
En voici la liste :
List Permissions Site Permissions Personal Permissions
ManageLists
CancelCheckout
AddListItems
EditListItems
DeleteListItems
ViewListItems
ApproveItems
OpenItems
ViewVersions
DeleteVersions
CreateAlerts
ViewFormPages
ManagePermissions
ViewUsageData
ManageSubwebs
ManageWeb
AddAndCustomizePages
ApplyThemeAndBorder
ApplyStyleSheets
CreateGroups
BrowseDirectories
CreateSSCSite
ViewPages
EnumeratePermissions
BrowseUserInfo
ManageAlerts
UseRemoteAPIs
UseClientIntegration
Open
EditMyUserInfo
ManagePersonalViews
AddDelPrivateWebParts
UpdatePersonalWebParts