我有一个自定义表单,列出了每个组中的站点组和用户。
表单有两个下拉列表:一个显示网站的组,另一个显示该组中的用户。
当我使用管理员用户登录表单时,它可以正常工作。
但是如果我使用具有管理层次结构权限级别的用户登录,它会显示域组的信息,如果我尝试访问sharepoint组,则会收到拒绝访问错误。
我在代码中使用提升权限运行
我真的不知道该怎么做
感谢。
答案 0 :(得分:0)
使用RunWithElevatedPrivileges时出现两个常见错误:
使用SPContext.Current.Web
(或网站等)不会更改网络对象的标识,它已经在内存中。
在代表外宣布SPWeb,结果错误1
那说,尝试类似:
Guid siteId = SPContext.Current.Site.Id;
SPSecurity.RunWithElevatedPrivileges(() =>
using (SPSite elevatedSite = new SPSite(siteId))
using (SPWeb elevatedWeb = elevatedSite.RootWeb)
{
//impl
});