SharePoint (2007/2010) : Echec de l’élévation de privilèges dans un EventReceiver.

Au rez-de-chaussée, c’est ‘.

Dans un EventHandler de ce type (ou d’un autre !) :

public override void ItemAdded(SPItemEventProperties properties){

   SPSecurity.RunWithElevatedPrivileges(delegate()   {

  // Actions nécessitant des privilèges.

});

Dans le code exécuté avec privilèges, il NE FAUT PAS utiliser directement les objets présentés par l’objet properties (.List, .Web, etc.). Il faut retrouver ces objets avec leur ID (.ListID, .SiteID, etc.). Sinon il y a de grandes chance d’avoir des valeurs ‘ ou des exceptions d’accès.

SPSite monSite = new SPSite("url.com");

SPList maListe = monSite.Lists[properties.ListID];

SPItem monItem = maListe.GetItemById(properties.ListItemId);

etc…

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *