Mamy wiele witryn wyłączonych z jednego wystąpienia witryny sitecore. Jedna z tych witryn wymaga zarządzania rolami użytkowników za pośrednictwem zewnętrznego systemu zaplecza. W związku z tym skonfigurowaliśmy niestandardowe członkostwo w zakresie członkostwa & wraz z domenami dla każdej witryny. Jednak z jakiegoś powodu przełącznik dostawcy roli nie wydaje się być przestrzegany. Jeśli loguję się do systemu CMS jako użytkownik sitecore, nadal wywołuje mojego dostawcę roli niestandardowej, aby spróbować uzyskać role dla tego użytkownika, mimo że dostawca roli jest skonfigurowany względem innej domeny?Sitecore - dostawca przełączający dla dostawcy ról, który nie przestrzega domeny
Dostawca rola działa dobrze, gdy faktyczne użytkownicy logują się na stronie, ale to nie powinno być uderzenie, gdy użytkownicy CMS edytowania stron itd
Config w naszej 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>
Plus nasza poprawionych w Sitecore config:
<switchingProviders>
<roleManager>
<provider providerName="MyProvider" storeFullNames="false" wildcard="%" domains="mydomain" patch:after="provider[@providerName='sql']"/>
</roleManager>
</switchingProviders>