代码之家  ›  专栏  ›  技术社区  ›  Mina Wissa

无法访问具有管理层次结构权限的用户的网站用户组

  •  0
  • Mina Wissa  · 技术社区  · 14 年前

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

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

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

    但是,如果我使用具有管理层次结构权限级别的用户登录,它会自动显示域组的信息,如果我尝试访问SharePoint组,则会出现拒绝访问错误。

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

    我真的不知道该怎么办

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Francisco Aquino    14 年前

    在使用runwithElevedPrivileges时,两个常见错误是:

    1. 使用 SPContext.Current.Web (或站点等)不会更改Web对象的标识,它已经在内存中。

    2. 在代表之外声明SPWeb,结果与错误1类似

    也就是说,尝试以下方法:

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