我已经在Sitecore的Intranet Portal 3.2产品中设置了活动目录LDAP模块,但成效有限。我收到错误“无法转换类型为'System.Configuration.SettingsPropertyValue'的对象'以键入'LightLDAP.ADSettingsPropertyValue'。”当我单击用户属性上的“确定”按钮时,应用用户模板当我尝试从前端编辑器查看工作箱时,以及当我尝试访问内容编辑器中的任何项目时,使用自定义属性。
我能够通过LDAP模块成功登录,管理CMS角色访问,安全性等。我自动登录前端,可以输入我的域\用户名\ pwd并成功验证虽然AD。
非常感谢任何帮助
堆栈跟踪
[InvalidCastException: Unable to cast object of type 'System.Configuration.SettingsPropertyValue' to type 'LightLDAP.ADSettingsPropertyValue'.]
LightLDAP.SitecoreADProfileProvider.SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection) +388
Sitecore.Security.SwitchingProfileProvider.SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection) +294
System.Configuration.SettingsBase.SaveCore() +484
System.Configuration.SettingsBase.Save() +72
System.Web.Profile.ProfileBase.SaveWithAssert() +43
System.Web.Profile.ProfileBase.Save() +159
Sitecore.Security.UserProfile.Save() +32
Sitecore.Web.UI.HtmlControls.Registry.SetValue(String key, String value) +202
Sitecore.Web.UI.HtmlControls.Listview.DoSetView(String name) +163
Sitecore.Shell.Applications.ContentEditor.FileDropArea.OnLoad(EventArgs e) +693
System.Web.UI.Control.LoadRecursive() +66
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Control.AddedControl(Control control, Int32 index) +350
Sitecore.Web.UI.Sheer.ClientPage.AddControl(Control parent, Control control, String placeholder) +240
Sitecore.Shell.Applications.ContentEditor.EditorFormatter.AddEditorControl(Control parent, Control editor, Field field, Boolean hasRibbon, Boolean readOnly, String value) +249
Sitecore.Shell.Applications.ContentEditor.EditorFormatter.RenderField(Control parent, Field field, Item fieldType, Boolean readOnly, String value) +1097
Sitecore.Shell.Applications.ContentEditor.EditorFormatter.RenderField(Control parent, Field field, Item fieldType, Boolean readOnly) +204
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderInput(Field field) +131
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderElement(XmlNode element) +603
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderChildElements(XmlNode element) +141
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderMarker(XmlNode element) +175
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderElement(XmlNode element) +674
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderChildElements(XmlNode element) +141
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderSectionPanel(XmlNode element) +270
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderElement(XmlNode element) +635
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.AddText(XmlNode element) +494
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderElement(XmlNode element) +717
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.AddText(XmlNode element) +494
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.RenderElement(XmlNode element) +717
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.Render(XmlDocument skin) +125
Sitecore.Shell.Applications.ContentEditor.Pipelines.RenderContentEditor.RenderSkinedContentEditor.Process(RenderContentEditorArgs args) +353
(Object , Object[] ) +79
Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) +240
Sitecore.Shell.Applications.ContentManager.Editor.Render(RenderContentEditorArgs args, Control parent) +538
Sitecore.Shell.Applications.ContentManager.ContentEditorForm.RenderEditor(Item item, Item root, Control parent, Boolean showEditor) +232
Sitecore.Shell.Applications.ContentManager.ContentEditorForm.UpdateEditor(Item folder, Item root, Boolean showEditor) +345
Sitecore.Shell.Applications.ContentManager.ContentEditorForm.Update() +344
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +0
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +1255
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +38
Sitecore.Reflection.ReflectionUtil.InvokeMethod(MethodInfo method, Object[] parameters, Object obj) +91
Sitecore.Reflection.ReflectionUtil.CallMethod(Object obj, String methodName, Boolean includeNonPublic, Boolean includeInherited, Object[] parameters) +75
Sitecore.Shell.Applications.ContentManager.ContentEditorPage.OnPreRender(EventArgs e) +120
System.Web.UI.Control.PreRenderRecursiveInternal() +108
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3410
答案 0 :(得分:0)
我没有解决实际问题,但确实找到了解决方法。在某种意义上,AD sitecore模块似乎需要对AD进行写访问,即使我已经禁用了模块的几乎所有部分。我不确定为什么没有只读模式的配置选项。
无论如何,我创建了一些在AD中找到用户的代码;如果找到,则创建虚拟用户,根据需要创建用户配置文件,并在每次用户对页面进行身份验证时使用AD中的最新信息更新该配置文件。