Partager via


Élévation de privilège

Dernière modification : mercredi 7 avril 2010

S’applique à : SharePoint Foundation 2010

L’élévation de privilège, fonctionnalité ajoutée dans Windows SharePoint Services 3.0, vous permet d’effectuer par programme des actions dans le code grâce à une augmentation du niveau de privilège. La méthode SPSecurity.RunWithElevatedPrivileges permet de fournir un délégué qui exécute un sous-ensemble de code dans le contexte d’un compte disposant de privilèges plus élevés que ceux de l’utilisateur actuel.

Une utilisation standard de RunWithElevatedPrivileges se présente de la façon suivante :

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    // Do things by assuming the permission of the "system account".
});

Souvent, pour effectuer des actions dans SharePoint, vous devez obtenir un nouvel objet SPSite pour que les modifications soient prises en compte. Par exemple :

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    using (SPSite site = new SPSite(web.Site.ID))
    {
       // Do things by assuming the permission of the "system account".
    }
});

Bien que l’élévation de privilège constitue une technique puissante de gestion de la sécurité, elle doit être utilisée avec précaution. Vous ne devez pas exposer des mécanismes directs, non contrôlés, aux personnes disposant de privilèges faibles afin qu’elles ne puissent pas contourner les autorisations qui leur sont accordées.

Important

Si la méthode transmise à RunWithElevatedPrivileges comprend des opérations d’écriture, l’appel à RunWithElevatedPrivileges doit être précédé d’un appel à SPUtility.ValidateFormDigest() ou à SPWeb.ValidateFormDigest().

Voir aussi

Concepts

Identité basée sur des revendications SharePoint