管理SharePoint 2007到2013迁移后的权限问题

时间:2017-01-12 10:08:17

标签: sharepoint sharepoint-2013

我真的很挣钱,任何意见都会受到赞赏。

SharePoint迁移(使用数据库附加方法)从2007-> 2010-> 2013 sitecollection 中的多个子网站出现问题。

无法从“网站设置”管理权限:

/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正确显示, 但是当我将列表视图从默认详细信息视图更改为另一个视图时,会发生同样的错误。

1 个答案:

答案 0 :(得分:0)

我发现了问题并且它不是由迁移引起的,它是由自定义控件(为BreadCrumb导航实现)引起的。

控件是从Link上的示例实现的, SiteMapProviders = “SPSiteMapProvider,的 SPXmlContentMapProvider

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