Artigo Java Magazine 74 - Primeiros passos com o Spring LDAP
Entenda os conceitos dessa poderosa ferramenta e aprenda a tirar melhor proveito do LDAP.
Atenção: esse artigo tem um vídeo complementar. Clique e assista!
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 | "
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo