다음 코드를 사용하여 LDAP에 속성을 만들었습니다.ldap 사용자에게 자체 정의 된 속성을 추가하는 방법은 무엇입니까?
attrs.put("NUMERICOID", "1.3.6.1.4.1.42.2.27.4.2.3.1.1.9");
attrs.put("NAME", "myattribute");
attrs.put("DESC", "for JNDITutorial example only");
attrs.put("SYNTAX", "1.3.6.1.4.1.1466.115.121.1.15");
DirContext schema = context.getSchema("");
DirContext newAttr = schema.createSubcontext ("AttributeDefinition/myattribute1", attrs);
이 속성이 성공적으로 생성, 는 지금은 "USER1"(UID)를 말하는 사용자에게이 속성을 추가하려합니다.
Attributes attributeslist = context.getAttributes(ld.getUserDN(username));
attributeslist.put("myattribute1", "");
context.modifyAttributes(ld.getUserDN("test5"), DirContext.REPLACE_ATTRIBUTE, attributeslist);
하지만 개체 클래스 위반 오류가 발생합니다.
누구든지 해결할 수 있습니까? Java 코드를 사용하여 사용자에게 정의 된 속성을 추가해야합니다.
안녕하세요 geoffc, 우선 귀하의 도움에 감사드립니다. 난 perticular 스키마 개체에 추가에 여전히 문제가 얼굴. 아래 코드를 사용하여 DirContext personSchema = (DirContext) schema.lookup ("ClassDefinition/inetOrgPerson"); attributeslist.put ("myattribute3", "test"); personSchema.modifyAttributes (ld.getUserDN ("test5"), DirContext.ADD_ATTRIBUTE, attributeslist); 하지만 "이름을 찾을 수 없습니다 예외"가 나타납니다. 거기도 "createSubcontext"메서드로 시도한 경우에도 동일한 오류가 발생합니다. 이 문제를 해결하도록 도와 주시겠습니까? –
이것은 흥미 롭습니다. 스키마에서 코드를 확장하고 있습니까? 보통이 작업은 설치시 가져온 LDIF 파일을 통해 수행됩니다. – geoffc