2014-12-08 4 views
1

APACHE DS API를 사용하여 LDAP 서버에 항목을 추가하고 있습니다. 그러나 displayName 특성은 그대로 추가되지 않고 대신 "displayname"(모두 작은 대문자)이 추가됩니다. 다음은 내 항목 집합입니다.displayName은 API를 사용하여 apacheds에 추가하지 않습니다.

Entry entry = new DefaultEntry( 
      "cn=" + cn + "," + this.base_dn, 
      "displayName",name.trim(), 
      "objectclass:top", 
      "objectclass:person", 
      "objectclass:inetOrgPerson", 
      "objectclass:organizationalPerson", 
      "cn",cn, 
      "sn",cn, 
      "description:Gerrit User", 
      "mail",cn +"@org.com", 
      "userPassword",password 

      ); 

왜 그런가?

아이러니하게도 userPassword가 실수로 "userpassword"로 작성되면 올바른 속성 이름 ("userPassword")이 LDAP로 가져옵니다.

은 (또한 아파치 - LDAP-API는 아래의 태그를 찾을 수 없습니다.)

답변

0

gerrit를 LDAP와 함께 사용했기 때문에 문제가 발생했습니다. 기본적으로 gerrit는 ldap.accountFullName 속성을 displayName (로그인 한 사용자 이름 표시 용)으로 지정합니다. 따라서 'displayname'속성을 LDAP에 삽입하면 gerrit는이 속성을 검색 할 수 없었습니다 (gerrit 대소 문자 구분). 이 gerrit 속성을 'displayname'으로 변경하면 제 목적이 해결되었습니다.

LDAP 쪽에서는 속성이 CASE INSENSITIVE입니다.

1

LDAP가 이름이 너무 'displayname' == 'displayName''userpassword' == 'userPassword' 대소 문자를 구분하지 않습니다 때문이다. 그들은 기능적으로 동일하고 그 차이는 미학적 인 것입니다. Apache DS 은 스키마에 나열된 이름을 사용합니다.

+0

ldif (apache studio 사용)를 통해 사용자를 추가했지만 API를 사용하여 'displayName'특성이 제대로 만들어지면이 문제가 발생합니다. 당신이 알고있는 주위에 어떤 일이 있을지, 아마도? –

+1

사용자 나 다른 프로그램은 속성 이름을 대소 문자를 구분하여 검사해야합니다. 언급 한 바와 같이 displayname == displayName. Apache DS의 특정 문제에 대해서는 메일 목록 (https://directory.apache.org/mailing-lists-and-irc.html)에 문의하십시오. – jwilleke

+1

해결할 항목이 없습니다. 발생한 문제는 다음과 같은 영역으로 분류됩니다. 예상되는 행동; 속성 이름은 대소.자를 구분하지 않습니다. 비록 당신이 그들을 당신이 좋아하는 길을 설정하게된다고하더라도 그들이 그 길을 유지할 것이라는 확신이 없습니다. –