0
나는 DS의 예를 들어 기본 스키마 작업 스피 ApacheDS에 JNDI를 사용하여 새 그룹을 추가하는 방법은 무엇입니까?
java.util.Hashtable;
import java.util.Properties;
import java.util.jar.Attributes;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
public class Main{
public static void main(String[] args) {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:10389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL,"uid=admin,ou=system"); // specify the username
env.put(Context.SECURITY_CREDENTIALS,"secret");// specify the password
// TODO code application logic here
// entry's DN
String entryDN = "cn=myadmins,ou=groups,ou=system";
// entry's attributes
Attribute cn = new BasicAttribute("cn", "myadmins");
Attribute oc = new BasicAttribute("objectClass");
oc.add("top");
oc.add("groupOfUniqueNames");
DirContext ctx = null;
try {
// get a handle to an Initial DirContext
ctx = new InitialDirContext(env);
// build the entry
BasicAttributes entry = new BasicAttributes();
entry.put(cn);
entry.put(oc);
// Add the entry
ctx.createSubcontext(entryDN, entry);
// System.out.println("AddUser: added entry " + entryDN + ".");
} catch (NamingException e) {
System.err.println("AddUser: error adding entry." + e);
}
}
}
을 시도했다.
하지만 난 다른 그룹 항목 보았다
Required attributes [uniqueMember(2.5.4.50)] not found within entry cn=myadmins,ou=groups,ou=system]; remaining name 'cn=myadmins,ou=groups,ou=system'
을 얻을, 그것은 값
uniqueMember
속성이있다 : 나는 나의 새로운 그룹에 대한의 uniqueMember 속성의 값을 지정할 수 있습니다 어떻게
0.9.2342.19200300.100.1.1=admin,2.5.4.11=system
을
나는 점들이 포함 된 숫자가 나에게 조금 복잡하다는 것을 고백해야한다.
감사
새로운 그룹을 정의하는 동안 하나의 uniqueMember를 지정해야한다고 생각합니다. 따라서 어떻게 지정할 수 있습니까? uniqueMember를 지정할 때 몇 가지 매개 변수를 고려해야합니까? – merveotesi
'uniqueMember'는 그룹의 이름이 표시되면 관리자의 고유 이름입니다. –
@merveotesi, 어떻게이 문제가 해결 되었습니까? –