Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que trata o artigo:

Spring LDAP. Neste artigo são apresentados os principais conceitos relativos a essa biblioteca e exemplos do seu uso para efetuar consultas no LDAP. Além disso, é feita uma breve introdução à árvore LDAP e seus princípios.


Para que serve:

Fornecer uma alternativa simples e produtiva para acesso ao LDAP. O uso do LDAP em aplicações corporativas é um requisito de muitos sistemas, e o conhecimento de uma ferramenta flexível permite ao desenvolvedor construir consultas de forma mais rápida, simples e de manutenção mais fácil.


Em que situação o tema é útil:

O Spring LDAP facilita o uso do diretório LDAP em aplicações corporativas e embute mais produtividade à manipulação da árvore através do Java. A ferramenta é uma ótima alternativa para o desenvolvimento tradicional, baseado nas classes dos pacotes javax.naming e javax.naming.directory, oferecendo uma API extremamente rica e flexível.

Primeiros passos com o Spring LDAP:

Neste artigo são abordados os principais conceitos do LDAP e uma alternativa de uso – o Spring LDAP – é apresentada em detalhes. Um exemplo completo de consulta ao LDAP é explicado e demonstrado através de duas estratégias compatíveis: uso da API tradicional Java e uso da biblioteca Spring LDAP.

Além disso, demonstra-se de forma concisa como utilizar a biblioteca para executar operações CRUD sobre o LDAP. Assim, é possível entender as facilidades oferecidas pelo Spring LDAP e a vantagem de seu uso, tanto em termos de velocidade de desenvolvimento, quanto em compreensão do código escrito, manutenção e evolução.

O LDAP é comumente usado para autenticação e autorização de usuários em aplicações corporativas. Apesar do uso difundido, esse software é visto por muitos como uma “caixa-preta”, um sistema “complexo” ou só acessível ao pessoal especializado em segurança da informação.

Esse preconceito faz com que o LDAP não seja utilizado em sua potencialidade, e muitas das informações disponíveis nesse repositório acabam repetidas no banco de dados.

O Spring LDAP é uma ferramenta que simplifica o acesso ao LDAP, utilizando os conceitos difundidos pelo framework Spring. Essas facilidades permitem um uso mais completo e simples do LDAP e aproximam esse software dos desenvolvedores comuns.

LDAP: conceitos básicos

O LDAP (Lightweight Directory Access Protocol) é um dos protocolos mais conhecidos e utilizados em grandes corporações. Apesar de se tratar de um protocolo, o termo LDAP normalmente é utilizado para referir-se ao servidor LDAP, um serviço de diretório que é acessado via TCP/IP.

Assim como em qualquer serviço de diretório, a estrutura do LDAP é hierárquica e os objetos e atributos ali armazenados são distribuídos segundo uma ordem lógica (semelhante a uma estrutura de arquivos no sistema operacional). O LDAP na verdade é um banco de dados especializado e otimizado para operações de busca e leitura, o que torna as consultas significativamente mais performáticas que a escrita/atualização de dados. Exemplos conhecidos de servidores LDAP são: OpenLDAP, Apache Directory Server, Windows Active Directory e Sun LDAP Server.

Entendendo os detalhes

A árvore do LDAP pode armazenar qualquer tipo de informação. Normalmente associamos o LDAP a conceitos como segurança, usuários e grupos, mas também é possível (e comum) utilizá-lo para guardar informações sobre os ativos da corporação, como departamentos, computadores, impressoras, etc.

Em um diretório LDAP cada nó é denominado entrada (entry). A entrada representa um conjunto de atributos e cada atributo possui um tipo (também chamado de nome) e um ou mais valores. O tipo do atributo é um uma sigla intuitiva e significativa, como “cn” para “common name”, “o” para “organization”, etc. A Tabela 1 exibe alguns exemplos comuns.

Sigla Significado Descrição
dn distinguished name Um nome que identifica unicamente uma entrada no diretório.
dc

domain component Cada um dos componentes de um domínio. Por exemplo, www.codecompany.com.br seria escrito como dc=www, dc=codecompany, dc=com, dc=br.
ou organizational unit Uma unidade organizacional, departamento ou grupo dentro da empresa.
cn common name Utilizado normalmente para o nome de uma pessoa ou nome usado para referenciar algum objeto (impressora, sala, etc.).
sn surname Sobrenome.
c country / region ...
Quer ler esse conteúdo completo? Tenha acesso completo