OpenDS에서 Active Directory로 개체 클래스 정의를 마이그레이션하는 중입니다. 나는 이미 일부를 정의로 성공적으로 마이그레이션했으며 (Java 응용 프로그램으로 AD에 읽고 쓸 수 있음) -하지만 이제 막혔습니다.개체 클래스 정의를 Active Directory (AD LDS)로 가져 오기
objectClasses: (1.3.6.1.4.1.99.2
NAME 'myNewClass'
SUP top STRUCTURAL
MUST (myAttribute1 $ myAttribute2 $ myAttribute3)
MAY someOtherAttribute
)
나는이 같은 AD 스키마 구문이 번역 : 내 된 OpenDS 스키마 설명에서
나는 이런 일이
# Class: myNewClass
dn: cn=myNewClass,cn=Schema,cn=Configuration,dc=X
changetype: add
objectClass: classSchema
governsID: 1.3.6.1.4.1.99.2
ldapDisplayName: myNewClass
adminDisplayName: myNewClass
objectClassCategory: 0
systemOnly: FALSE
# subclassOf: top
subclassOf: 2.5.6.0
# rdnAttId: myAttribute1
rdnAttId: 1.3.6.1.4.1.99.1
# mustContain: myAttribute2
mustContain: 1.3.6.1.4.1.99.2
# mustContain: myAttribute3
mustContain: 1.3.6.1.4.1.99.3
# mayContain: someOtherAttribute
mayContain: 1.3.6.1.4.1.99.4
# possSuperiors: organizationalUnit
possSuperiors: 2.5.6.5
# defaultObjectCategory: myNewClass
defaultObjectCategory: cn=myNewClass,cn=Schema,cn=Configuration,dc=X
을하지만 클래스의 객체를 작성하려고 할 때 myNewClass이 예외가 발생합니다 :
javax.naming.InvalidNameException: "myAttribute1=Read+myAttribute2=Allow+myAttribute3=cn\=someResource": [LDAP: error code 34 - 0000208F: LdapErr: DSID-0C090715, comment: Error processing name, data 0, v1db1 ];
문제는 rdnAttId라고 가정합니다. AD (OpenDS가 아닌)에서 필수적인 것 같습니다. 단일 값으로 만 설정할 수 있으므로 (예 : myAttribute1을 선택했습니다.) myAttribute1과 myAttribute2 및 myAttribute3과 같이 더는 안됩니까?
무엇을할까요?
문제점은 다음과 같습니다. 객체 클래스 정의에 CN이 없습니다 (이 클래스의 객체는 myAttribute1 + myAttribute2 + myAttribute3에 의해서만 정의 됨). 흠 ... 아마 rDNAttID에 문제가되지 않았을까요? 내가 얻은 Java 예외를 어떻게 해석합니까? – Frizz
@Frizz 자바 오류를 이해하지 못합니다. 왜 처음에는 MMC를 사용하여 클래스를 만들고 LDIFF를 내보내려고하지 않습니까? – JPBlanc
MMC는 특성 또는 클래스 ("클래스 만들기 ..."및 "특성 만들기 ..."가 회색으로 표시되지 않음)를 만들지 않기 때문에 사용할 수 없습니다. 관리자로 시작했지만 여전히 회색으로 표시됩니다. – Frizz