Я использую online-ldap-test- server для интеграции с Sitecore 8.1 в целях тестирования. Конфигурации, которые я сделал для него, следующие:
Строка подключения: <add name="ADConnString" connectionString="LDAP://ldap.forumsys.com:389/OU=scientists,DC=example,DC=com"/>
Провайдеры:
<membership defaultProvider="sitecore" hashAlgorithmType="SHA1">
<providers>
<clear/>
<add name="ad" type="LightLDAP.SitecoreADMembershipProvider" connectionStringName="ADConnString" applicationName="sitecore" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" connectionUsername="" connectionPassword="" connectionProtection="Secure" attributeMapUsername="sAMAccountName" enableSearchMethods="true" />
<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"/>
</providers>
</membership>
<roleManager defaultProvider="sitecore" enabled="true">
<providers>
<clear/>
<add name="ad" type="LightLDAP.SitecoreADRoleProvider" connectionStringName="ADConnString" applicationName="sitecore" username="" password="" attributeMapUsername="sAMAccountName" cacheSize="2MB" />
<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"/>
</providers>
</roleManager>
<profile defaultProvider="sitecore" enabled="true" inherits="Sitecore.Security.UserProfile, Sitecore.Kernel">
<providers>
<clear/>
<add name="ad" type="LightLDAP.SitecoreADProfileProvider" connectionstringname="ADConnString" applicationname="sitecore" username="" password="" sitecoremapdomainname="ad"></add>
<add name="sitecore" type="Sitecore.Security.SitecoreRoleProvider, Sitecore.Kernel" realProviderName="switcher" raiseEvents="true" />
<add name="sql" type="System.Web.Profile.SqlProfileProvider" connectionStringName="core" applicationName="sitecore"/>
<add name="switcher" type="Sitecore.Security.SwitchingProfileProvider, Sitecore.Kernel" applicationName="sitecore"
mappings="switchingProviders/profile"/>
</providers>
Переключение провайдеров:
<switchingProviders>
<membership>
<provider providerName="sql" storeFullNames="true" wildcard="%" domains="*"/>
<provider providerName="ad" storeFullNames="false" wildcard="*" domains="ad" />
</membership>
<roleManager>
<provider providerName="sql" storeFullNames="true" wildcard="%" domains="*" ignoredUserDomains="" allowedUserDomains=""/>
<provider providerName="ad" storeFullNames="false" wildcard="*" domains="ad" />
</roleManager>
<profile>
<provider providerName="sql" storeFullNames="true" wildcard="%" domains="*" ignoredDomains=""/>
<provider providerName="ad" storeFullNames="false" wildcard="*" domains="ad" />
</profile>
Domains.config
<domain name="ad" ensureAnonymousUser="false"/>
Но я получаю сообщение об ошибке «Отсутствует или пуста строка подключения». Я получаю эту ошибку только в том случае, если добавляю записи для поставщиков профилей в разделы коммутации поставщиков и поставщиков. Пожалуйста, обратитесь к снимку экрана, показанному ниже, для получения подробной информации:
Ошибка отсутствия или пустой строки подключения
И когда я комментирую записи поставщиков профилей, хотя я не получаю эту ошибку и членство в моих доменах, поставщики ролей, похоже, включены (в admin / providerstatus.aspx), но я не могу войти в систему с помощью пользователей AD. Любая помощь в этом отношении приветствуется. Кроме того, играет ли mongoDb какую-либо роль в работе интеграции LDAP Sitecore?