LDAP (Protocolo ligero de acceso a directorios) es un estándar industrial abierto, independiente de la plataforma Protocolo a nivel de aplicación para organizar el acceso y el mantenimiento de servicios de información de directorio distribuidos a través de una red IP. Spring Boot proporciona configuración automática para cualquier servidor LDAP compatible, así como soporte para un servidor LDAP integrado en memoria desde ID independiente.
Las abstracciones LDAP se proporcionan a través de Spring Data LDAP. Para una recopilación
conveniente de dependencias, existe un spring-boot-starter-data-ldap
de “inicio”.
Conectarse a un servidor LDAP
Para conectarse al servidor LDAP, asegúrese de declarar una dependencia en el "inicio" spring-boot-starter-data-ldap
o spring-ldap-core
y luego declara la URL de tu servidor en tu application.properties como se muestra
en el siguiente ejemplo:
spring.ldap.urls=ldap://myserver:1235
spring.ldap.username=admin
spring.ldap.password=secret
spring:
ldap:
urls: "ldap://myserver:1235"
username: "admin"
password: "secret"
Si necesita configurar los ajustes de conexión, puede utilizar las propiedades spring.ldap.base
y spring.ldap.base-environment
.
LdapContextSource
se configura automáticamente en función de estos parámetros. Si un bean DirContextAuthenticationStrategy
está presente, está vinculado al LdapContextSource
configurado automáticamente. Si necesita
configurarlo para usar PooledContextSource
, por ejemplo, aún puede implementar un LdapContextSource
autoconfigurable. Asegúrese de marcar su ContextSource
configurado como @Primary
para que
el LdapTemplate
configurado automáticamente pueda usarlo.
Repositorios LDAP de Spring Data
Spring Data incluye soporte de repositorio para LDAP.
Una instancia autoconfigurable de LdapTemplate
se puede implementar como cualquier otro Spring Bean,
como se muestra en el siguiente ejemplo:
@Component
public class MyBean {
private final LdapTemplate template;
public MyBean(LdapTemplate template) {
this.template = template;
}
}
@Component
class MyBean(private val template: LdapTemplate) {
}
Servidor LDAP en memoria integrado
Para fines de prueba, Spring Boot admite la configuración automática de un servidor LDAP en memoria desde ID ilimitado. Para configurar el
servidor, agregue la dependencia com.unboundid:unboundid-ldapsdk
y declare la propiedad spring.ldap.embedded.base-dn
como se muestra a continuación:
spring.ldap.embedded.base-dn=dc=spring,dc=io
spring:
ldap:
embedded:
base-dn: "dc=spring,dc=io"
Puede definir múltiples valores base de búsqueda "base-dn", sin embargo, dado que los nombres distintivos generalmente contienen comas, deben definirse usando notación de prueba.
Puedes utilizar una entrada de la lista yaml en archivos yaml. Los archivos de propiedades deben incluir el índice como parte del nombre de la propiedad:
spring.ldap.embedded.base-dn[0]=dc=spring,dc=io
spring.ldap.embedded.base-dn[1]=dc=pivotal,dc=io
spring.ldap.embedded.base-dn:
- "dc=primavera,dc=io"
- "dc=pivotal,dc=io"
De forma predeterminada, el servidor se inicia en un puerto aleatorio y también inicia el lanzamiento de herramientas
de soporte estándar para LDAP. No es necesario establecer la propiedad spring.ldap.urls
.
Si hay un archivo schema.ldif
en el classpath, se utiliza para inicializar el servidor. Si desea cargar
el script de inicio desde otro recurso, también puede utilizar la propiedad spring.ldap.embedded.ldif
.
De forma predeterminada, el esquema estándar se utiliza para validar archivos en el formato LDIF
. Puede
deshabilitar la validación por completo configurando la propiedad
spring.ldap.embedded.validation.enabled
. Si tiene atributos personalizados, puede usar spring.ldap.embedded.validation.schema
para definir tipos de atributos personalizados o clases de objetos.
GO TO FULL VERSION