【问题标题】:Managing Permissions Issue after SharePoint 2007 to 2013 Migration从 SharePoint 2007 迁移到 2013 后管理权限问题
【发布时间】:2017-01-12 10:08:16
【问题描述】:

我真的在为此苦苦挣扎,任何意见都将不胜感激。

在 2007->2010->2013 年的 SharePoint 迁移(使用数据库附加方法)之后,站点集合中的多个子站点出现问题。

无法从站点设置管理权限:

/domain/sitecollection/subsiteA/_layouts/15/people.aspx /domain/sitecollection/subsiteA/_layouts/15/user.aspx

两个页面都报错了

An unexpected error has occurred:
Log:
Application error when access /_layouts/15/people.aspx, Error=Index was out of range. Must be non-negative and less than the size of the collection.  Parameter name: index   at Microsoft.SharePoint.WebControls.ListSiteMapPath.CreateControlHierarchy()     at System.Web.UI.WebControls.SiteMapPath.CreateChildControls()     at System.Web.UI.Control.EnsureChildControls()     at System.Web.UI.WebControls.CompositeControl.get_Controls()     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlB... a042ca9d-e5a1-3092-22c7-5be152697ad2
...yWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalking(Control namingContainer, String id)     at Microsoft.SharePoint.WebControls.Menu.set_TemplateId(String value)     at Microsoft.SharePoint.WebControls.Menu.InitializeControlIds(Control namingContainerScope)     at Microsoft.SharePoint.WebControls.Menu.OnLoad(EventArgs eventArgs)     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at Sys...  a042ca9d-e5a1-3092-22c7-5be152697ad2
...tem.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)   a042ca9d-e5a1-3092-22c7-5be152697ad2
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.  Parameter name: index    at Microsoft.SharePoint.WebControls.ListSiteMapPath.CreateControlHierarchy()     at System.Web.UI.WebControls.SiteMapPath.CreateChildControls()     at System.Web.UI.Control.EnsureChildControls()     at System.Web.UI.WebControls.CompositeControl.get_Controls()     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control roo... a042ca9d-e5a1-3092-22c7-5be152697ad2
...tControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalking(Control namingContainer, String id)     at Microsoft.SharePoint.WebControls.Menu.set_TemplateId(String value)     at Microsoft.SharePoint.WebControls.Menu.InitializeControlIds(Control namingContainerScope)     at Microsoft.SharePoint.WebControls.Menu.OnLoad(EventArgs eventArgs)     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRe...  a042ca9d-e5a1-3092-22c7-5be152697ad2
...cursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    a042ca9d-e5a1-3092-22c7-5be152697ad2
Getting Error Message for Exception System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.  Parameter name: index     at Microsoft.SharePoint.WebControls.ListSiteMapPath.CreateControlHierarchy()     at System.Web.UI.WebControls.SiteMapPath.CreateChildControls()     at System.Web.UI.Control.EnsureChildControls()     at System.Web.UI.WebControls.CompositeControl.get_Controls()     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.... a042ca9d-e5a1-3092-22c7-5be152697ad2
...FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalkingInner(Control rootControl, String id)     at Microsoft.SharePoint.WebControls.Menu.FindControlByWalking(Control namingContainer, String id)     at Microsoft.SharePoint.WebControls.Menu.set_TemplateId(String value)     at Microsoft.SharePoint.WebControls.Menu.InitializeControlIds(Control namingContainerScope)     at Microsoft.SharePoint.WebControls.Menu.OnLoad(EventArgs eventArgs)     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive(...  a042ca9d-e5a1-3092-22c7-5be152697ad2
...)     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)   a042ca9d-e5a1-3092-22c7-5be152697ad2

到目前为止我的发现:

  1. 组存在:
    -/domain/sitecollection/subsiteA/_layouts/15/people.aspx?MembershipGroupId=3898 引发相同的错误。
    -/domain/sitecollection/_layouts/15/people.aspx?MembershipGroupId=3898 但直接在 sitecollection 中找到该组
  2. 权限有效的子网站: /domain/sitecollection/subsiteB/_layouts/15/people.aspx?MembershipGroupId=6618 显示正确, 但是当我将列表视图从默认详细视图更改为另一个视图时,会发生同样的错误。

【问题讨论】:

    标签: sharepoint sharepoint-2013


    【解决方案1】:

    我发现问题不是由迁移引起的,而是由自定义控件(为面包屑导航实现)引起的。

    控制是从Link 上的示例实现的, SiteMapProviders="SPSiteMapProvider,SPXmlContentMapProvider"

    SPXmlContentMapProvider 确实会导致异常,但并非总是如此,仅当 SiteCollection 在 URL 中有空格时,并且仅当您导航到权限管理页面时.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 2018-11-04
      • 1970-01-01
      • 2011-06-24
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多