Sitecore - 访问内容项的服务器错误(黄色死亡屏幕)

时间:2013-04-26 19:07:15

标签: content-management-system sitecore

另一个傻瓜......尝试访问管理员最初创建的现有内容项目作为普通用户,但获得以下多汁的例外。我可以看到内容树中的项目作为此用户,但是当我单击某个项目进行查看时会抛出异常(并且可能会在下一步中对其进行编辑)。

  

' /'中的服务器错误应用

     

不允许使用空ID。参数名称:displayName

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.ArgumentNullException:Null ID不是   允许。参数名称:displayName

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[ArgumentNullException:不允许使用空ID。参数名称:   显示名]
  Sitecore.Diagnostics.Assert.ArgumentNotNullOrEmpty(String参数,   String argumentName)+75
  Sitecore.Shell.Applications.ContentEditor.EditorFormatter.RenderSectionBegin(控制   parent,String controlId,String sectionName,String displayName,   String icon,Boolean isCollapsed,Boolean renderFields)+69
  Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderSectionPanel(XmlNode的   元素)+214
  Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderElement(XmlNode的   元素)+487
  Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.AddText(XmlNode的   元素)+423
  Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderElement(XmlNode的   元素)+533
  Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.AddText(XmlNode的   元素)+423
  Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderElement(XmlNode的   元素)+533
  Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.Render(XmlDocument的   皮肤)+93
  Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.Process(RenderContentEditorArgs   args)+353(对象,对象[])+61
  Sitecore.Pipelines.PipelineMethod.Invoke(Object [] parameters)+36
  Sitecore.Pipelines.CoreProcessor.Invoke(Object []参数)+43
  Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)+133
  Sitecore.Pipelines.CorePipeline.Run(String pipelineName,PipelineArgs   args,String pipelineDomain,Boolean failIfNotExists)+154
  Sitecore.Pipelines.CorePipeline.Run(String pipelineName,PipelineArgs   args,String pipelineDomain)+64
  Sitecore.Pipelines.CorePipeline.Run(String pipelineName,PipelineArgs   args)+50
  Sitecore.Shell.Applications.ContentManager.Editor.Render(RenderContentEditorArgs   args,控制父母)+450
  Sitecore.Shell.Applications.ContentManager.Editor.Render(Item item,   Item root,Hashtable fieldInfo,Control parent,Boolean showEditor)   +239 Sitecore.Shell.Applications.ContentManager.ContentEditorForm.RenderEditor(Item   item,Item root,Control parent,Boolean showEditor)+153
  Sitecore.Shell.Applications.ContentManager.ContentEditorForm.UpdateEditor(项目   文件夹,项目根,布尔showEditor)+238
  Sitecore.Shell.Applications.ContentManager.ContentEditorForm.Update()   +249 Sitecore.Shell.Applications.ContentManager.ContentEditorForm.OnPreRendered(EventArgs   e)+116

     

[TargetInvocationException:目标抛出了异常   一个援引。]   System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo   方法,对象目标,Object []参数,SignatureStruct& SIG,   MethodAttributes methodAttributes,RuntimeType typeOwner)+0
  System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo方法,   Object target,Object []参数,Signature sig,MethodAttributes   methodAttributes,RuntimeType typeOwner)+69
  System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags   invokeAttr,Binder binder,Object []参数,CultureInfo文化,   布尔值skipVisibilityChecks)+306
  System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags   invokeAttr,Binder binder,Object []参数,CultureInfo文化)   +22 System.Reflection.MethodBase.Invoke(Object obj,Object [] parameters)+19
  Sitecore.Reflection.ReflectionUtil.InvokeMethod(MethodInfo方法,   Object []参数,Object obj)+38
  Sitecore.Reflection.ReflectionUtil.CallMethod(Type type,Object obj,   String methodName,Boolean includeNonPublic,Boolean includeInherited,   布尔includeStatic,Object []参数)+104
  Sitecore.Reflection.ReflectionUtil.CallMethod(Type type,Object obj,   String methodName,Boolean includeNonPublic,Boolean includeInherited,   对象[]参数)+26
  Sitecore.Reflection.ReflectionUtil.CallMethod(Object obj,String   methodName,Boolean includeNonPublic,Boolean includeInherited,   对象[]参数)+41
  Sitecore.Shell.Applications.ContentManager.ContentEditorPage.OnPreRender(EventArgs的   e)+87 System.Web.UI.Control.PreRenderRecursiveInternal()+150
  System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)   2838

     

版本信息:Microsoft .NET Framework版本:4.0.30319;   ASP.NET版本:4.0.30319.272

1 个答案:

答案 0 :(得分:3)

所以,在找到以下答案后,我回去并删除了帐户上设置的任何自定义访问权限(解决了我的问题):

  

一条很长的消息,但在找到一条消息时也没什么帮助   溶液

     

我找到的唯一有用的东西是   http://egointeractive.posterous.com/argumentnullexception-null-ids-are-not-allowe

     

由于被拒绝的阅读权利,提到了同样的事情   在模板上。

     

这确实解决了问题,给了我另一个 - 某些字段   模板不应对特定用户可见。幸运的是答案   那一个是一个简单的:我需要做的就是否认Field   阅读权利,而不是阅读权。

参考: http://trayek.wordpress.com/2013/03/21/sitecore-content-editor-woes/

对于后代,这里是完整的后续(RIP)链接:

  

[ArgumentNullException]:不允许使用空ID。参数名称:   displayName我在设置有限的用户后遇到了这个错误   读/写权限。我创建了一个自定义角色,分配了'Sitecore   客户作者'和'Sitecore客户用户',分配给用户   角色,并检查他们是否可以登录并查看内容树。   一切似乎都很好,直到我尝试点击任何项目   在'家'下。在某些情况下,发生了两件事之一:我得到了   此错误:[ArgumentNullException]:不允许空ID。   参数名称:displayName我知道应该有字段的项目,   我没有尝试过不同的角色组合(包括放弃我的角色)   自定义角色并仅使用Sitecore的默认值,但我仍然遇到过   问题 - 再次,仅限某些项目。据我所知,   管理员是唯一能够看到项目的用户,并且有   没有没有管理员权限的工作用户的例子。

     

该网站最近已从Sitecore 5升级(我不确定   哪个版本)到Sitecore 6.3.1(rev.110112),据我所知,   直到这一点之后,问题才变得明显。   在几乎完全相同的情况下,我之前看到过这个错误,   所以我打赌这与升级有关。

     

当我查看用户创建的模板的权限时(不是   系统模板)权限,我注意到继承已经   在部分/字段子项上拒绝了很多模板。一世   看不出为什么会这样,所以我花了一些钱   时间摆脱显而易见的否定(其中有50多个案例   这个特别的安装) - 嘿presto,错误消失了!我不得不   使用安全编辑器功能区中的“删除继承”按钮;运用   '分配'或取消选中'继承'旁边的[X]   该项目的许可不起作用。

参考:http://web.archive.org/web/20130317212504/http://egointeractive.posterous.com/argumentnullexception-null-ids-are-not-allowe