2013-03-13 2 views
1

회사 Active Directory에 대해 Identity Server (4.1.0)를 구성하려고합니다.WS02 Identity Server - LDAP 사용자 저장소가 작동하지 않습니다.

ReadOnlyLDAPUserStoreManager 클래스를 사용하고 있습니다. 나는 특정 연결 세부 사항 및 UserSearchBase 및 GroupSearchBase을 제거했습니다

<UserStoreManager class="org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager"> 
      <Property name="ReadOnly">true</Property> 
      <Property name="MaxUserNameListLength">100</Property> 
      <Property name="ConnectionURL">ldap://host</Property> 
      <Property name="ConnectionName">ommitted</Property> 
      <Property name="ConnectionPassword">xxxxxx</Property> 
      <Property name="passwordHashMethod">PLAIN_TEXT</Property> 
      <Property name="UserSearchBase">searchbase</Property> 
      <Property name="UserNameListFilter">(objectClass=user)</Property> 
      <Property name="UserNameAttribute">sAMAccountName</Property> 
      <Property name="ReadLDAPGroups">true</Property> 
      <Property name="GroupSearchBase">groupbase</Property> 
      <Property name="GroupNameListFilter">(objectClass=group)</Property> 
      <Property name="GroupNameAttribute">sAMAccountName</Property> 
      <Property name="MembershipAttribute">memberOf</Property> 
      <Property name="UserRolesCacheEnabled">false</Property> 
      <Property name="ReplaceEscapeCharactersAtUserLogin">true</Property> 
      <Property name="maxFailedLoginAttempt">0</Property> 
     </UserStoreManager> 

다음은 사용자 저장소에 대한 구성입니다. IS가 성공적으로 시작되고 사용자와 역할이 나열된 것을 볼 수 있습니다.

나는 다음과 같은 문제가 발생 해요 :

  • 신원 서버가 제대로 사용자에게 할당 된 역할을 매핑하지 않습니다. 내 AD가 'memberOf'속성을 사용하여 그룹 구성원을 정의하더라도 Identity 서버에 특정 사용자가 할당되어 있지 않음
  • LDAP 저장소의 사용자와 함께 Identity Server 관리자 UI에 로그인 할 수 없습니다. .

    관리자 관리자 모두 JDBC/WSO2CarbonDB org.wso2.carbon.user.core.config.multitenancy.CommonLDAPRealmConfigBuilder org.wso2 AD_user_name : 나는 다음과 같은 방법으로 영역/설정을 구성 할 때 .carbon.user.core.config.multitenancy.CommonLDAPRealmConfigBuilder </속성 ->

누군가 ACtive 디렉토리 인 읽기 전용 LDAP 저장소와 통합하기위한 제안이 있습니까?

업데이트 WS02 지원 작업을 할 때마다 특정 사용 사례를 시도하기 전에 4.1.1을 기다릴 것을 권한다. 제품의 이전 버전은 단순히 잘 작동하지 않습니다. 내가 더 많이 알기 때문에 나는 갱신 할 것이다.

+0

동일한 문제가 있습니다. 운이 아직 없니? – stack247

+0

여기에서 같은 문제가 발생합니다. WSO2가 AD를 백엔드로 사용하려고 시도 할 때 구성 조합 중 읽기 전용 액세스가 작동하지 않는 것으로 보입니다. 이것에 대해 진전을 이룰 수 있다면 업데이트하십시오. – ItsJason

답변

0

업데이트 :

나는 WSO2가 4.1.1 인 문제를 해결하고 예상대로이 작동하는지 확인할 수 있습니다. 필자는 제품 4.1.0의 플랫 아웃이 작동하지 않는다는 결론에 도달했습니다.

dev 팀에서 이러한 기능의 문제를 해결했으며 최신 릴리스에 있습니다.

행운을 빈다.

0

최근 고객 참여시 첨부 된 구성을 사용했습니다. AD에 대한 읽기 권한이있는 사용자와 연결해 볼 수 있습니까?

또한 IS의 최신 버전은 이제 여러 사용자 저장소를 지원합니다. 활성 저장소를 하나만 원하면 기본 저장소에 주석을 추가하십시오. 그렇지 않으면 사용자 저장소 당 도메인 이름 (여기서는 ad-domain)을 추가해야합니다.

사용자 저장 설정이 여기에 설명이 도움이 http://docs.wso2.org/wiki/display/IS400/Configuring+User+Stores

희망, 이자벨.

<UserStoreManager class="org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager"> 
<Property name="DomainName">ad-domain</Property> 
<Property name="defaultRealmName">My-Realm</Property> 
<Property name="kdcEnabled">false</Property> 
<Property name="ConnectionURL">ldap://myserver:389</Property> 
<Property name="ConnectionName">CN=yyyy,ou=xxxxx</Property> 
<Property name="ConnectionPassword">xxxxxxx</Property> 
<Property name="passwordHashMethod">PLAIN_TEXT</Property> 
<Property name="UserSearchBase">ou=xxxx,...</Property> 
<Property name="UserEntryObjectClass">user</Property> 
<Property name="UserNameAttribute">sAMAccountName</Property> 
<Property name="isADLDSRole">false</Property> 
<Property name="userAccountControl">512</Property> 
<Property name="UserNameListFilter">(objectClass=user)</Property> 
<Property name="UserNameSearchFilter">(&amp;(objectClass=user)(cn=?))</Property> 
<Property name="UsernameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property> 
<Property name="UsernameJavaScriptRegEx">^[\\S]{3,30}$</Property> 
<Property name="PasswordJavaScriptRegEx">^[\\S]{5,30}$</Property> 
<Property name="RolenameJavaScriptRegEx">^[\\S]{3,30}$</Property> 
<Property name="RolenameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property> 
<Property name="ReadLDAPGroups">true</Property> 
<Property name="WriteLDAPGroups">false</Property> 
<Property name="EmptyRolesAllowed">true</Property> 
<Property name="GroupSearchBase">ou=xxxxx</Property> 
<Property name="GroupEntryObjectClass">group</Property> 
<Property name="GroupNameAttribute">cn</Property> 
<Property name="MembershipAttribute">member</Property> 
<Property name="GroupNameListFilter">(objectcategory=group)</Property> 
<Property name="GroupNameSearchFilter">(&amp;(objectClass=group)(cn=?))</Property> 
<Property name="UserRolesCacheEnabled">true</Property> 
<Property name="Referral">follow</Property> 
<Property name="BackLinksEnabled">true</Property> 
<Property name="maxFailedLoginAttempt">0</Property> 
</UserStoreManager> 
+0

이 설정은 읽기/쓰기 사용자 저장소 인 것처럼 보입니다. Identity Server가 사용자와 역할을 추가/편집 할 수있는 곳입니까? 내가 특별히 필요로하는 것은 읽기 전용 저장소입니다 ... – Adam

+0

응답을 좋아하지만 동일한 결과를 얻으십시오. IS의 최신 버전을 사용하고 있습니다. - 4.1.0 – Adam

0

다음 블로그 게시물을 참조하십시오.

http://sureshatt.blogspot.com/2012/07/how-to-connect-wso2-api-manager-to.html

그것은 ReadOnlyLDAPUserStoreManager를 사용하는 예를 갖는다.

도움이 되었기를 바랍니다.

감사합니다.

+0

예, 블로그 게시물을 작성했습니다. 불행하게도 나는 그것을 작동시킬 수 없다. – Adam

+0

블로그에 대한 링크가 마음에 들었습니다. 전에 본 havent. 불행히도 나는 같은 결과를 얻고있다. – Adam

1

Active Directory에 대해 모르겠지만 OpenLDAP에서 비슷한 문제가 발생했습니다. 사용자의 역할을 나열 할 수 없었습니다. 이유는 우리 LDAP가 사용자를 그룹과 관련 짓고 있었기 때문입니다

memberUid = alandaniel 

하지만 방법 WSO2 org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager은 예상하는은 다음과 같습니다 : UID, 예를 들어, 역할에 속성 memberUid이었다

memberUid = uid=alandaniel,ou=x,dc=y,dc=z 

그래서 내가 user.core 플러그인을 사용자 정의해야했습니다. 대신 쿼리를 만드는 :

(&(objectClass=posixGroup)(memberUid=uid=alandaniel,ou=x,dc=y,dc=z)) 

지금 당신이 정말로 그것을 사용자 정의 ReadOnlyLDAPUserStoreManager을 확장하고 방법 getExternalRoleListOfUser (..)

을 사용자 정의 할 필요가 그래서 경우

(&(objectClass=posixGroup)(memberUid=alandaniel)) 

를 사용 *합니다 사용 된 버전은 WSO2 IS 4.1.0 및 WSO2 ESB 4.6.0이었습니다.

+0

여전히 WSO2 IS 5.0.0에 문제가 있습니까? –

관련 문제