2017-01-19 1 views
0

우리 조직에는 LDAP 서버가있는 CORP 네트워크가 있으며 사용자 이름 (사용자) (&)을 증명함으로써 Java 프로그램을 통해 해당 서버에 매우 쉽게 연결할 수 있습니다. 아래 자바 코드는 org LDAP 서버에 연결하는 것입니다.Apache Directory Server LDAP 설정

env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 
env.put(Context.PROVIDER_URL, "ldap://corp.testorg.com:10389");  
env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
env.put(Context.SECURITY_PRINCIPAL, "CORP\\username"); 
env.put(Context.SECURITY_CREDENTIALS, "password"); 
try 
{ 
DirContext ctx = new InitialDirContext(env); 
System.out.println("connected"); 
} 

하지만 내 문제는 내가 내 로컬 컴퓨터에 아파치 DS를 통해 내 자신의 LDAP 서버를 생성 한 후 다음 나는 사용자 이름으로 기본 DN을 제공해야 같은 프로그램을 통해 그 지역의 LDAP 서버에 연결을 시도했다는 것이다 등 아래

put(Context.SECURITY_PRINCIPAL, "cn=username,ou=users,o=test") 

내가 이해하지 못하는하고 사용자 이름과 기본 DN을 제공해야하는 이유. LDAP 서버의 일부 구성이 누락되었습니다. 알려주세요.

답변

0

지원되는 SECURITY_PRINCIPAL 형식은 서비스 제공 업체에 따라 다릅니다. 일반적으로 사용자의 고유 이름은 예상되지만 Active Directory supports a couple of additional formats입니다.

+0

오케이. 따라서 CORP는 서비스 제공 업체가 제공합니다. 하지만 그들은 내가 로컬 LDAP 서버에서 할 수 있도록 그런 설정을했는지 & 나는 SECURITY_PRINCIPAL의 사용자 이름으로 기본 DN을 전달하면 안된다. –