2014-12-04 1 views
0

을 시작OpenAM : LDAP/IDP/사용자 DN은 -, LDAP 서비스로 임베디드 OpenDJ와 내가 OpenAM을 사용하고 보스

때 보스 7에서 실행중인 내 웹 응용 프로그램을 보호 할 때 내 JBoss의 시작이 오류를 얻을 :

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ldapUserDN' 
... 
Caused by: javax.naming.NameNotFoundException: ldap/idp/userDN -- service jboss.naming.context.java.ldap.idp.userDN 

그래서 분명히 봄이 LDAP/IDP/사용자 DN은 JNDI 노드를 찾고 있습니다.

  <simple name="ldap/opendj/url" value="ldap://localhost:50389"/> 
      <simple name="ldap/opendj/userDN" value="cn=Directory Manager"/> 
      <simple name="ldap/opendj/password" value="mypassword"/> 
      <simple name="ldap/opendj/baseDN" value="dc=opensso,dc=java,dc=net"/> 

을 그리고 이러한 속성은 JBoss에서의 내 JNDI 트리에 추가됩니다하지만이 프로젝트를 가지고는 JBoss 구성 파일은 다음 항목이 있습니다.

예를 들어 이들을 "ldap/idp/userDN"으로 변경하면 "ldap/opendj/userDN"이 "ldap/opendj/userDN"에 매핑되어야하는 곳이 있는지 궁금합니다./idp/userDN ", 내가 놓친 것. 당신은 봄 LDAP는 LDAP 컨텍스트 소스의 실제 구성을 사용하는 경우

답변

1

은 스프링 설정 파일에 가고, 다음과 같습니다 당신의 보스에

<jee:jndi-lookup jndi-name="ldap/idp/url" id="ldapUrl"/> 
<jee:jndi-lookup jndi-name="ldap/idp/userDN" id="ldapUserDN"/> 
<jee:jndi-lookup jndi-name="ldap/idp/password" id="ldapPassword"/> 
<jee:jndi-lookup jndi-name="ldap/idp/baseDN" id="ldapBaseDN"/> 
<ldap:context-source url="#{ldapUrl}" 
    username="#{ldapUserDN}" 
    password="#{ldapPassword}"  
    base="#{ldapBaseDN}" 
    native-pooling="true"/> 

그래서 JNDI 항목 config 파일은 위의 파일과 일치해야합니다.

관련 문제