我已经在 SharePoint 2007 中创建了一个测验 Web 部件,但被困在一个权限上。它需要将测验分数写入一个列表,现在在尝试时会抛出错误。我假设如果 Web 部件具有适当的权限级别,则用户的权限(测验者)无关紧要。
是否有允许 webpart 写入列表的特定权限?具体来说:
SPListItem item = listItems.Add();
最佳答案
如果当前用户对列表具有写入(贡献)访问权限,则 webpart 只能写入列表。如果您不希望用户访问该列表,您可以提升写入该列表的权限。这将导致系统帐户创建列表项。
SPSecurity.RunWithElevatedPrivileges(WriteToList);
private void WriteToList()
{
// create new SPSite and SPWeb objects. This is important, if you
// don't then the write won't use the elevated privileges.
using(SPSite site = new SPSite(SPContext.Current.Site.ID))
{
using(SPWeb web = site.OpenWeb(SPContext.Current.Web.ID))
{
// Code to Write to the list.
}
}
}
有关更多信息,请参阅 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx
关于asp.net - SharePoint Web 部件列表写入权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5305768/