7

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> 

答えて

8

これは、サイトコアの癖/バグのように見えます。 SwitchingRoleProviderを使用すると、ドメインプロパティは無視され、実装されたプロバイダはすべてのドメインで呼び出されます。

このロールプロバイダを使用する場合に追加される2つの非公開の特性がある:

ignoredUserDomains - プロバイダが適用されないドメインのカンマ区切りリスト。

allowedUserDomainsは - コンマは、プロバイダのみが適用されるドメインのリストを分離しました。

これらのいずれかを役割提供者にのみ指定できます。両方を指定すると例外がスローされます。あなたが使用している例では

、次はあなたの問題を解決する必要があります。

<switchingProviders> 
    <roleManager> 
    <provider providerName="MyProvider" storeFullNames="false" wildcard="%" allowedUserDomains="mydomain" patch:after="provider[@providerName='sql']"/> 
    </roleManager> 
</switchingProviders> 

source

関連する問題