LDAP - Sitecore: строка подключения отсутствует или пуста

Я использую 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?


person Amrita Shukla    schedule 11.03.2016    source источник


Ответы (1)


Я не совсем уверен, но похоже, что у вас есть все параметры в нижнем регистре в определении поставщика профиля. Пожалуйста, попробуйте использовать правильный корпус.

Что касается MongoDB, MongoDB не требуется для работы LDAP.

person Lars Erhardsen    schedule 11.03.2016
comment
Спасибо, Ларс, что указал на это, почему-то я полностью пропустил правильный случай. Хотя я все еще не могу войти в систему с помощью пользователей AD или увидеть каких-либо пользователей в диспетчере пользователей. Вы видите что-нибудь, чего мне здесь не хватает? Любая помощь в этом отношении приветствуется. - person Amrita Shukla; 15.03.2016
comment
Как пройти аутентификацию в AD? У вас есть пустые параметры в определении поставщика членства (connectionUsername = connectionPassword =) - удалите их и посмотрите, что произойдет. Следующим шагом будет просмотр журнала событий и поиск подсказок. - person Lars Erhardsen; 16.03.2016