2014-09-10 2 views
2

Я пытаюсь настроить активный каталог для sitecore.Конфигурация модуля Active Directory с sitecore

Я установил пакет для модуля AD и проверил различные файлы, которые включены в файл sitecore.

я ниже конфигурацию Strat с

1. Connection string 
    <add name="ADConnString" connectionString="LDAP://ldapserver.corp.pk.com:389,DC=corp,DC=pk,DC=com" /> 

    2. Membership provider 

    <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="ad" type="LightLDAP.SitecoreADMembershipProvider" connectionStringName="ADConnString" applicationName="sitecore" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" connectionUsername="****" connectionPassword="****" connectionProtection="Secure" attributeMapUsername="sAMAccountName" enableSearchMethods="true" customfilter="(memberOf=CN=SitecoreUsers,OU=Groups,DC=corp,DC=pk,DC=com)" /> 
      </providers> 
     </membership> 

    3. Role provider 
      <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="ad" type="LightLDAP.SitecoreADRoleProvider" connectionStringName="ADConnString" applicationName="sitecore" username="ldapuser" password=" ldappw" attributeMapUsername="sAMAccountName" cacheSize="2MB" /> 
       </providers> 
      </roleManager> 
4. Added domain in App_config/Security/Domains.config 
<domain name="ad" ensureAnonymousUser="false" /> 

5. Added swtiching providers for membership and role 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> 
    </switchingProviders> 

Я просматривать на ProvidersStatus страницу и я вижу активный модуль каталога быть правильно настроен с Sitecore

ADN configured correctly

Когда я просматриваю к Sitecore Desktop -> инструменты безопасности -> пользовательский менеджер .. я не вижу пользователей в списке, но в разделе домены я вижу объявление нового домена

enter image description here

Когда я смотрю на журнал .. я вижу ошибку ниже

ERROR Active Directory existing checking exception: System.DirectoryServices.DirectoryServicesCOMException (0x8007052E): The user name or password is incorrect. 

    at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) 
    at System.DirectoryServices.DirectoryEntry.Bind() 
    at System.DirectoryServices.DirectoryEntry.get_NativeObject() 
    at LightLDAP.MembershipResolver.DirectoryEntryExists(String path, String username, String password, AuthenticationTypes types) 
ERROR The AD membership provider couldn't be initialized: The user name or password is incorrect. 

Exception: System.DirectoryServices.DirectoryServicesCOMException 
Message: The user name or password is incorrect. 

Я проверил имя пользователя и пароль для подключения к активному серверу каталогов, и они кажутся правильными .. У меня нет подскажите почему я не могу видеть пользователей на всех :(

Любая помощь приветствуется. Спасибо.

+1

Вы проверили, что имя имеет достаточные права для выполнения необходимых операций, как получение пользователей, роли, создавать пользователей/роли? –

+0

Откройте диспетчер ролей и посмотрите, сможете ли вы получить роли. также переключитесь на DEBUG и включите ведение журнала отладки в ldap.config, чтобы получить дополнительную информацию об ошибке. –

+0

Какой формат вы используете для своих «connectionUsername» и «username»? Это должно быть имя домена \ username, вы не можете просто передать имя пользователя без домена. –

ответ

0

Я заметил, что у вас есть специальный фильтр, применяемый к поставщику членства. Мой первый шаг отладки заключался бы в том, чтобы удалить этот настраиваемый фильтр и посмотреть, начнете ли вы возвращать пользователей. Это может быть фильтр, возвращающий объекты, к которым у пользователя нет доступа.

В противном случае существующие комментарии вокруг проверки прав учетной записи пользователя верны. Сообщение журнала указывает на проблему с именем пользователя/паролем. Вы можете попытаться диагностировать это с помощью инструмента, такого как AD Explorer. Укажите учетные данные и данные подключения, которые вы используете, и посмотрите, можете ли вы подключиться к репозиторию.

0

Удостоверьтесь, что вы предоставили доменное имя для своей учетной записи пользователя в вашей записи membership.providers i.e. connectionUsername="domain\username" Недавно я столкнулся с этой точной проблемой; даже несмотря на то, что я мог просматривать дерево LDAP во внешнем браузере (Softerra) без указания домена, Sitecore не будет подключаться, если не указан домен.

И если вы похожи на меня, вы не знаете имя домена, так как оно теперь является деревом LDAP. Попробуйте создать доменное имя, используя корневые значения в строке подключения. Для меня это было два верхних DC в: Строка соединения:

<add name="ad" connectionString="LDAP://mycompany.gbl:389/OU=Users,DC=mycompany,DC=gbl"/> 

переведен на:

connectionUsername="mycompany.gbl\myconnectaccount" 
Смежные вопросы