sitecoreの1つのインスタンスから複数のサイトが実行されています。サイトの1つは、外部のバックエンドシステムを通じてユーザー&の役割を管理する必要があるため、カスタムメンバーシップ&の役割プロバイダーを各サイトのドメインと共に構成しました。ただし、何らかの理由で役割提供者のスイッチャーが尊重されていないようです。 sitecoreユーザーとしてCMSにログインしても、別のドメインに対して役割プロバイダーが構成されているにもかかわらず、自分のカスタム役割プロバイダーが呼び出されてこのユーザーの役割を取得しようとしていますか?Sitecore - ドメインを尊重していない役割プロバイダのスイッチングプロバイダ
実際のユーザーがサイトにログインしたときにロールプロバイダが正常に動作しているが、CMSのユーザーがページを編集しているとき、それがヒットしているべきではないなど
たちのWeb.configファイルでの設定:
<roleManager defaultProvider="sitecore" enabled="true" cookieRequireSSL="false" createPersistentCookie="false" cookieSlidingExpiration="true" cacheRolesInCookie="false">
<providers>
<clear />
<add name="sitecore" type="Sitecore.Security.SitecoreRoleProvider, Sitecore.Kernel" realProviderName="switcher" raiseEvents="true" />
<add name="sql" type="System.Web.Security.SqlRoleProvider" connectionStringName="core" applicationName="sitecore" />
<add name="MyProvider" type="MyApp.Web.Infrastructure.Security.RoleProviders.MyProvider, MyApp.Web" applicationName="sitecore" />
<add name="switcher" type="Sitecore.Security.SwitchingRoleProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/roleManager" />
</providers>
</roleManager>
プラス私たちのサイトコアの設定でパッチ:
<switchingProviders>
<roleManager>
<provider providerName="MyProvider" storeFullNames="false" wildcard="%" domains="mydomain" patch:after="provider[@providerName='sql']"/>
</roleManager>
</switchingProviders>