【问题标题】:Reset page library permission for anonymouse user in SharePoint在 SharePoint 中重置匿名用户的页面库权限
【发布时间】:2010-02-24 13:18:30
【问题描述】:

在网站集级别有一个页面库,它是与整个网站一起创建的。我很久没有接触它,直到最近我添加了新的内容类型,修改了一些页面布局和使用解决方案文件的母版页。使用为匿名用户配置的站点访问主页时,网页上出现“401 UNAUTHORIZED”错误失败。我注意到 URL 是 /_layouts/AccessDenied.aspx?Source=...&Type=list&name={...} 然后我将此字符串复制到经过身份验证的用户的站点,它显示为“错误:访问被拒绝”。我还检查了 name={...} 的 guid。它是页库列表 ID。

似乎没有正确设置页库权限。然而,子站点的其他页面库在匿名用户下都运行良好,使用相同的新内容类型、母版页和页面布局。他们的权限在设置页面上是相同的(都从父级继承)并且都启用了“允许匿名”。

我还尝试在该页面库中创建具有其他页面布局的页面,清理内容类型,但都没有帮助。

【问题讨论】:

    标签: sharepoint moss permissions anonymous page-library


    【解决方案1】:

    不是页面库的权限问题,而是和我修改的代码有关。 SPContext.Current.Site.RootWeb 是匿名用户的引用。该用户无权访问根文件夹。我认为 SPContext.Current.Site.RootWeb.RootFolder.WelcomePage 可以使用提升的权限,但经过一些阅读后,我意识到它并没有像我想的那样提升权限。 Here的解释。

        bool rtn = false;               
        SPWeb rootWeb = SPContext.Current.Site.RootWeb;
        SPSecurity.RunWithElevatedPrivileges(delegate()
        {
            using (SPSite site = new SPSite(rootWeb.Site.Url))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    rtn = web.Url + "/" + web.RootFolder.WelcomePage
                          == this.Page.Request.Url.AbsoluteUri;
                }
            }
        });
        return rtn;
    

    【讨论】:

      猜你喜欢
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      • 2012-07-15
      • 2011-11-15
      • 1970-01-01
      • 2016-08-17
      相关资源
      最近更新 更多