2011-05-11 5 views
2

사용자를 인증하기 위해 eXist를 LDAP로 구성하려고하는데 eXist LDAP Security에서 설명서를 체크 아웃했습니다. 기본 구성은 security.ldap.connection.url (LDAP 서버의 연결 URL), security.ldap.dn.user (사용자 목록 DN) 및 security.ldap.dn.group (그룹 목록 DN)의 세 가지 설정 만 지원한다는 것을 알 수 있습니다.eXist 구성 - LDAP 보안 관리자

LDAP 서버가 익명 쿼리를 사용할 수 없기 때문에 필자의 경우에는 작동하지 않습니다. 이는 연결을 설정하기 위해 사용자 이름/암호를 제공해야한다는 것을 의미합니다.

LDAP 서버에서 익명 쿼리를 사용하는 것 이외의 다른 방법을 제안 할 수 있습니까? 당신이 당신의 자신의 상황에 맞는 공장을 구현하고 security.ldap.contextFactory 매개 변수를 사용하여 존재를 먹을 수처럼

덕분에, 토마스

답변

0

는 것 같습니다.

컨텍스트 팩토리는 디렉토리에 대한 연결을 초기화하는 데 사용되는 Java 클래스입니다. Ad-hoc 자격 증명을 사용하여 연결을 초기화하는 컨텍스트 팩토리를 구현할 수 있습니다. 구성 매개 변수,

public class MyCustomContextFactory implements InitialContextFactory { 

    public Context getInitialContext(Hashtable env) { 

    // Fetch the application DN and password somehow (config file...) 
    String applicationDN = ...; 
    String password = ...; 

    env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
    env.put(Context.SECURITY_PRINCIPAL, applicationDN); 
    env.put(Context.SECURITY_CREDENTIALS, password); 

    return new InitialDirContext(env); 

    } 
} 

당신은 jar 파일을 생성하는 서버의 클래스 경로에 추가하고, 지정 :

security.ldap.contextFactory = your.java.package.name.MyCustomContextFactory 

아이디어는이 같은 클래스를 구현하는 것입니다