在Web部件中,没有任何权限的用户需要读取和更新Sharepoint列表。使用提升的权限更新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
});
异常发送一个“不能达到引起断章取义跟踪”的消息。 – 2011-05-18 12:20:31
我建议使用在正确的代码中使用,你不应该放弃spsite和spweb对象。如果你没有直接从spcontext获得它,或者你的代码写在正确的代码上面 – 2011-05-19 05:49:20
基本上是一个副本。看看这个答案:http://stackoverflow.com/questions/6043312/sharepoint-query-with-elevated-privileges – trgraglia 2011-05-18 13:32:30