使用umbracommembershipprovider将Umbraco站点的成员集成到Sitecore中出现问题

本文关键字:Sitecore 问题 集成 成员 umbracommembershipprovider Umbraco 站点 使用 | 更新日期: 2023-09-27 18:08:35

概要是我们目前有一个基于Umbraco v4.6.1的站点及其成员列表,并希望使用标准的UmbracoMembershipProvider将这些成员集成到我们的Sitecore v6.5实例中。

为此,我们在web.config中添加了适当的连接字符串以及这些条目:

<membership defaultProvider="sitecore" hashAlgorithmType="SHA1">
  <providers>
    <clear />
    <add name="sitecore" type="Sitecore.Security.SitecoreMembershipProvider, Sitecore.Kernel" realProviderName="switcher" providerWildcard="%" raiseEvents="true" />
    <add name="sql" type="System.Web.Security.SqlMembershipProvider" connectionStringName="core" applicationName="sitecore" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="256" />
    <add name="switcher" type="Sitecore.Security.SwitchingMembershipProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/membership" />
    <add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />
  </providers>
</membership>

<switchingProviders>
  <membership>
    <provider providerName="UmbracoMembershipProvider" storeFullNames="false" wildcard="%" domains="umbraco" />
    <provider providerName="sql" storeFullNames="true" wildcard="%" domains="*" />
  </membership>
  <roleManager>
    <provider providerName="sql" storeFullNames="true" wildcard="%" domains="*" />
  </roleManager>
  <profile>
    <provider providerName="sql" storeFullNames="true" wildcard="%" domains="*" />
  </profile>
</switchingProviders>

然后,我们从Umbraco中引用了以下所需的dll:

  • businesslogic.dll
  • cms.dll
  • interfaces.dll
  • Microsoft.ApplicationBlocks.Data.dll
  • umbraco.DataLayer.dll
  • umbraco.providers.dll

现在当我们尝试运行Sitecore时,它会从mscorlib.dll抛出StackOverflowException。

有人知道这里可能发生了什么吗?

编辑:StackOverflowException从IIS (w3wp.exe)抛出。记录的2个事件是:
Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: clr.dll, version: 4.0.30319.237, time stamp: 0x4dd2333e
Exception code: 0xc00000fd
Fault offset: 0x000000000064ca10
Faulting process id: 0x1f1c
Faulting application start time: 0x01cc73fe843e74e0
Faulting application path: c:'windows'system32'inetsrv'w3wp.exe
Faulting module path: C:'Windows'Microsoft.NET'Framework64'v4.0.30319'clr.dll
Report Id: da1c3356-dff1-11e0-bab2-2c27d72da698

Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: mscorlib.ni.dll, version: 4.0.30319.237, time stamp: 0x4dd2341f
Exception code: 0xc00000fd
Fault offset: 0x000000000039b7ef
Faulting process id: 0x1874
Faulting application start time: 0x01cc73fe9ec4bb9f
Faulting application path: c:'windows'system32'inetsrv'w3wp.exe
Faulting module path: C:'Windows'assembly'NativeImages_v4.0.30319_64'mscorlib'8f7f691aa155c11216387cf3420d9d1b'mscorlib.ni.dll
Report Id: df3e3c39-dff1-11e0-bab2-2c27d72da698

使用umbracommembershipprovider将Umbraco站点的成员集成到Sitecore中出现问题

我意识到这个问题有点老了,但是你可能想尝试添加一个设置到你的元素umbracoDbDSN -这是进入Umbraco SQL存储的主要入口点,这是umbracommembershipprovider使用的- 而不是 connectionStrings部分(是的,这是一个已知的问题,并且是在未来的Umbraco开发路线图中正在进行的工作)。