我们希望在页面加载中授予用户站点管理员权限,并在 finally 块中将其删除。我们使用的是sharepoint 2007,具体的实现方式是什么。
问问题
717 次
2 回答
2
我建议使用SystemAccount实例化SPSite ,而不是临时授予用户访问权限:
SPSite site = web.Site;
Guid id = web.ID;
SPUtility.ValidateFormDigest();
using (SPSite systemSite = new SPSite(site.ID, site.SystemAccount.UserToken))
{
using (SPWeb systemWeb = systemSite.OpenWeb(id))
{
// perform as site administrator
}
}
于 2012-04-30T19:43:30.913 回答
0
我建议在您的代码中以提升的权限运行。这将为您临时执行的代码提供更高的权限。确保您打开您的站点、Web 和列表对象在此委托下打开。请参阅下面的 MSDN文章和示例。
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(web.Site.ID))
{
// implementation details omitted
}
})
于 2012-05-18T08:33:44.623 回答