2014-09-10 10 views
2

sitecore 용 활성 디렉토리 모듈을 구성하려고합니다.sitecore를 사용하는 활성 디렉토리 모듈 구성

광고 모듈 패키지를 설치하고 Sitecore에 포함 된 다양한 파일을 확인했습니다.

은 내가 ProvidersStatus 페이지로 이동 않았다

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> 

와 스트랫하기 위해 아래의 구성을했고, 나는 sitecore에 올바르게 설치되는 액티브 디렉토리 모듈을 참조 내가 sitecore을 찾아

ADN configured correctly

데스크톱 -> 보안 도구 -> 사용자 관리자 .. 목록의 사용자는 보이지 않지만 도메인 섹션에서는 새 도메인 '광고'가 표시됩니다.

내가 더이 ... 내가 로그를 볼 때

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. 

내가 Active Directory 서버에 연결하기 위해 사용자 이름과 비밀번호를 확인을 볼 그들이 올바른 것 같다 내가 왜 사용자를 전혀 볼 수 없는지 실마리가 있습니다. (

도움을 주시면 감사하겠습니다. 감사합니다. .

+1

충분한 권한을 사용자, 역할을 얻는 것처럼, 필요한 작업을 수행 할 수 있고, 사용자/역할을 만드시겠습니까? –

+0

역할 관리자를 열고 역할을 얻을 수 있는지 확인하십시오. DEBUG로 전환하고 ldap.config의 디버그 로깅을 활성화하여 문제에 대한 추가 정보를 얻으십시오 –

+0

"connectionUsername"및 "username"에 어떤 형식을 사용하고 있습니까? domain \ username이어야하며 도메인없이 사용자 이름을 전달할 수 없습니다. –

답변

0

멤버 자격 공급자에게 적용되는 사용자 지정 필터가있는 것으로 나타났습니다. 내 첫 디버깅 단계는 해당 사용자 정의 필터를 제거하고 사용자를 다시 시작하는지 확인하는 것입니다. 필터가 사용자가 액세스 권한이없는 객체를 반환 할 수 있습니다.

그렇지 않으면 사용자 계정 권한 확인 관련 기존 의견이 정확합니다. 로그 메시지는 사용자 이름/암호 문제를 나타냅니다. AD Explorer과 같은 도구를 사용하여이를 진단 할 수 있습니다. 사용중인 자격 증명 및 연결 데이터를 지정하고 리포지토리에 연결할 수 있는지 확인하십시오.

0

membership.providers 항목에 사용자 계정의 도메인 이름을 입력했는지 확인하십시오 (예 : connectionUsername="domain\username"). 최근에이 정확한 문제가 발생했습니다. 도메인을 지정하지 않고 외부 브라우저 (Softerra)에서 LDAP 트리를 탐색 할 수는 있지만 도메인을 지정하지 않으면 Sitecore가 연결되지 않습니다.

나는 마치 현재 LDAP 트리이므로 "도메인"이름을 모른다. 연결 문자열의 루트 값을 사용하여 도메인 이름을 작성하십시오. 연결 문자열 :

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

로 번역 : 내게는 상위 두 DC의했다 당신이 그 이름을 확인 했

connectionUsername="mycompany.gbl\myconnectaccount"