Проблемы с активным каталогом SIP Sitecore после аутентификации - PullRequest
0 голосов
/ 27 сентября 2011

Я настроил модуль LDAP активного каталога в продукте Sitecore Intranet Portal 3.2, и его успех был ограниченным.Я получаю сообщение об ошибке « Невозможно привести объект типа« System.Configuration.SettingsPropertyValue »к типу« LightLDAP.ADSettingsPropertyValue ». », когда я нажимаю кнопку «ОК» в свойствах пользователя, применяя пользовательский шаблон спользовательских свойств, когда я пытаюсь просмотреть рабочую коробку из редактора интерфейса, и когда я пытаюсь получить доступ к любому элементу в редакторе контента.

Я могу успешно войти через модуль LDAP, управлять CMSдоступ к ролям, безопасность и т. д. Я автоматически вошел в систему на внешнем интерфейсе и могу ввести свой домен \ username \ 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

1 Ответ

0 голосов
/ 04 октября 2011

Я не решил реальную проблему, но придумал обходной путь. Похоже, что модуль AD sitecore в некотором смысле требует доступа на запись в AD, хотя я отключил почти все его части. Я не уверен, почему нет опции конфигурации для режима только для чтения.

Несмотря на это, я создал некоторый код, который находит пользователя в AD; если он найден, он создает виртуального пользователя, при необходимости создает профиль пользователя и обновляет этот профиль самой последней информацией из AD каждый раз, когда пользователь аутентифицируется на странице.

...