Pregunta

Necesito poner un contexto LDAP contextSource en el árbol JNDI de mi contenedor Java EE para que pueda ser utilizado por aplicaciones dentro del contenedor.

Estoy usando Spring-LDAP para realizar consultas contra ORACLE OVD. Para el desarrollo, simplemente configuro contextSource en el archivo de configuración Spring xml. Para la producción, sin embargo, necesito poder usar una búsqueda JNDI para tomar la conexión / contexto del contenedor (como se sugiere aquí: http://forum.springframework.org/showthread.php?t=35122&highlight=jndi ). No se me permite tener acceso a la URL / nombre de usuario / pwd para la instancia de OVD de producción, por lo que parece descartar ponerlo en un archivo jndi.properties.

Idealmente, me gustaría tener un grupo de conexiones (al igual que JDBC), ya que mi aplicación puede tener muchas consultas LDAP ejecutándose al mismo tiempo. Agarrar el objeto de una búsqueda JNDI e inyectarlo en mi SimpleLdapTemplate parece bastante sencillo, pero no sé cómo obtener la conexión / contexto / grupo en el árbol JNDI. ¿Necesitaría construirlo y empaquetarlo en un RAR? Si es así, ¿cuáles son algunas opciones para permitir que el equipo de operaciones especifique la URL / nombre de usuario / pwd de manera que los desarrolladores no puedan acceder a ellos?

El contenedor específico que estoy usando es OAS / OC4J, aunque agradezco las estrategias que también han funcionado en otros contenedores.

¿Fue útil?

Solución

Específicamente en referencia a la agrupación real de conexiones LDAP, si está utilizando el proveedor LDAP JNDI incorporado, las conexiones ya se agrupan utilizando una semántica similar a las fuentes de datos JDBC donde se mantienen agrupaciones separadas para diferentes URL LDAP y propiedades de seguridad.

Al crear un DirContext JNDI, configure la propiedad com.sun.jndi.ldap.connect.pool para que sea true y se habilitará la agrupación.

Hay más información sobre la agrupación LDAP aquí .

Los detalles sobre la configuración de la agrupación LDAP están aquí .

Otros consejos

¿Hay alguna posibilidad de que pueda configurar una versión de desarrollo de LDAP y usarla? Luego puede usar un archivo jndi.properties, que sería específico del entorno, pero independiente de su sistema.

Editar: la diferencia aquí es que cuando crea su aplicación, su administrador puede implementarla en el sistema de producción, protegiendo así la preciosa contraseña ldap, ya que solo existe en el archivo de propiedades en el cuadro de producción.

Con jboss, puede federar contextos JNDI externos en el espacio de nombres JNDI del servidor JBoss. Todo lo que tiene que hacer es describir el acceso LDAP en un archivo de configuración MBean. También puede habilitar el almacenamiento en caché.

Estamos utilizando esta solución para acceder a un servidor de Directorio Ative.

http://www.jboss.org/community/docs/DOC-9726

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top