0

Web パーツでは、権限を持たないユーザーが SharePoint リストを読み取って更新する必要があります。

権限の昇格はリストの読み取りには問題ありませんが、同じリストを更新しようとすると例外がスローされます。昇格された権限でリストを更新するにはどうすればよいですか?

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
});
4

2 に答える 2

1

昇格された特権は、すべての操作を編集および削除するために使用されるため、他の問題である必要があります。例外の詳細を親切に提供してください

于 2011-05-18T07:29:43.900 に答える
0

問題は SPSite の作成でした。

正しいコード:

SPSite oSite = new SPSite(SPContext.Current.Site.ID); 
SPWeb oWeb = oSite.OpenWeb(SPContext.Current.Web.ID);                                 
listItems  = oWeb.Lists["nameList"];
于 2011-05-20T08:54:18.893 に答える