Я переношу сайт ASP.NET в Sitecore 7. У меня есть страница входа для внешних пользователей для входа на мой сайт. Я пытаюсь получить доступ к внешнему aspnetdb для выполнения этой проверки подлинности. Я следовал за то, что в этом посте:asp.net membership sitecore
Sitecore authenticate users against external membership database
Когда я пытаюсь вызвать метод GetUser я получаю нулевое значение. Кроме того, когда я перехожу к своему User Manager, я не вижу ни одного из моих пользователей, находящихся в aspnetdb.
Моя конфигурация описана ниже:
Я добавил строку подключения к моему ConnectionsStrings.config:
<add name="test" connectionString="user id=***;password=***;Data Source=localhost;Database=aspnetdb"/>
В моей 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="testProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="test" applicationName="sitecore" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="256"/>
</providers>
</membership>
<roleManager defaultProvider="sitecore" enabled="true">
<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="switcher" type="Sitecore.Security.SwitchingRoleProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/roleManager"/>
<add name="testProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="test" applicationName="sitecore"/>
</providers>
</roleManager>
Затем я добавил свои сопоставления коммутаторов домена:
<switchingProviders>
<membership>
<provider providerName="sql" storeFullNames="true" wildcard="%" domains="*"/>
<provider providerName="testProvider" storeFullNames="false" wildcard="%" domains="extranet"/>
</membership>
<roleManager>
<provider providerName="sql" storeFullNames="true" wildcard="%" domains="*"/>
<provider providerName="testProvider" storeFullNames="false" wildcard="%" domains="extranet"/>
</roleManager>
<profile>
<provider providerName="sql" storeFullNames="true" wildcard="%" domains="*"/>
</profile>
</switchingProviders>
Любая помощь будет принята с благодарностью.
Спасибо.
Я заметил из ссылки на другую статью, которую вы упомянули, была ссылка на создание нового домена и изменение поставщика домена. Вы также вносили эти изменения? –
@mark Я пробовал как с новым доменом, так и с доменом экстрасети, который уже существует ... Я получаю одинаковые результаты с обоими. – AspUser7724