【问题标题】:Cannot access site groups with user with manage hierarchy permissions无法使用具有管理层次结构权限的用户访问网站组
【发布时间】:2010-03-09 20:07:51
【问题描述】:

我有一个自定义表单,其中列出了网站组和每个组中的用户。

表单有两个下拉列表:一个显示站点的组,另一个显示该组中的用户。

当我使用管理员用户登录表单时,它工作正常。

但是,如果我使用具有管理层次权限级别的用户登录,它会显示域组的信息,如果我尝试访问共享点组,我会收到拒绝访问错误。

我在代码中使用提升权限运行

我真的不知道该怎么办

谢谢。

【问题讨论】:

  • 您能否发布您的代码(特别是 RunWithElevatedPrivileges 块内的部分)。

标签: sharepoint


【解决方案1】:

使用 RunWithElevatedPrivileges 时的两个常见错误是:

  1. 使用SPContext.Current.Web(或站点等)不会改变网络对象的身份,它已经在内存中。

  2. 在委托外声明 SPWeb,与错误 1 ​​的结果相似

也就是说,尝试类似:

Guid siteId = SPContext.Current.Site.Id;

SPSecurity.RunWithElevatedPrivileges(() => 
using (SPSite elevatedSite = new SPSite(siteId))
using (SPWeb elevatedWeb = elevatedSite.RootWeb)
{
   //impl
});

【讨论】:

    猜你喜欢
    • 2011-11-21
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    • 2012-02-17
    • 2023-01-09
    • 2016-12-08
    相关资源
    最近更新 更多