LDAP: Como procurar por um determinado uid em várias unidades de organização?
-
21-08-2019 - |
Pergunta
Primeiro, deixe-me começar por dizer que sou totalmente novo para trabalhar com LDAP.
Eu estou trabalhando em um aplicativo que divide um servidor LDAP com alguns aplicativos legados.
Todas as contas de usuário no aplicativo de legado são organizados em unidades organizacionais por IDs. Cada entrada tem um uid
que é o endereço de e-mail aos usuários.
posso encontrar se um usuário com o some@email.com
e-mail existe na unidade 12345
organizacional usando uma dn
algo como isto: ou=someGroup,ou=12345,uid=some@email.com
No entanto, o que eu gostaria de ser capaz de fazer é verificar a existência de um usuário através de múltiplas unidades organizacionais. Por exemplo, eu gostaria de ser capaz de verificar se um e-mail está em uso por dentro com um número arbitrário de unidades organizacionais. (Por exemplo, verificar dentro 12345
, 23452
e 34352
).
Depois de googling ao redor, parece que eu deveria ser capaz de encontrar várias entradas com uma única dn
, mas eu ainda não descobri como verificar para este cenário.
Alguém sabe como posso fazer uma verificação como este? Eu estou usando Spring LDAP.
Solução
Eu acredito que você deve ser capaz de fazer isso da seguinte forma:
Como a sua pesquisa DN especificar apenas os componentes de domínio:
base_dn = "DC = TEST, DC = COM"
Como o filtro, especifique o CN ou uid
FILTER = "UID = bob"
Como a sua pesquisa não se esqueça de especificar "sub" ou o seu parâmetro específico Primavera LDAP para pesquisar toda a sub-árvore abaixo da base DN.
Dependendo da configuração, você pode precisar de pedir a busca de ligações Sempre desreferenciava.