Dans un composant Webpart, un utilisateur sans privilèges doit lire et mettre à jour une liste Sharepoint.Mettre à jour la liste des points de partage avec des privilèges élevés
Les privilèges d'élévation fonctionnent correctement pour la lecture de la liste, mais lorsque j'essaie de mettre à jour la même liste, une exception est générée. Comment est-il possible de mettre à jour une liste avec des privilèges élevés?
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPSite oSite = SPControl.GetContextSite(HttpContext.Current);
SPWeb oWeb = oSite.OpenWeb();
oWeb.AllowUnsafeUpdates = true;
SPListItemCollection listItems = oWeb.Lists["nameList"].Items;
SPListItem item = listItems.Add();
...
item.Update(); // Throws Exception
});
L'exception envoie le message que "ne peut pas atteindre la trace causée par hors contexte". –
Je suggère d'utiliser en utilisant le code correct, vous ne devriez pas laisser les objets spsite et spweb non disposés. si vous ne l'obtenez pas directement à partir de spcontext ou de la façon dont vous avez écrit dans le code au-dessus du code correct –
Fondamentalement, un doublon. Consultez ceci pour la réponse: http://stackoverflow.com/questions/6043312/sharepoint-query-with-elevated-privileges – trgraglia