/ / LDAP Verifica a existência de uma pessoa em uma organização de nível superior - java, ldap, jndi

LDAP Verificar existência de pessoa em uma organização de nível superior - java, ldap, jndi

Eu sou um iniciante no LDAP e aprendi nos últimos dias como fazer consultas LDAP. eu usou este fragmento de código para encontrar a associação de uma pessoa em um grupo.

    SearchControls srch = new SearchControls();
srch.setSearchScope(SearchControls.SUBTREE_SCOPE);
String search_start = "CN=somegroup@myworld.com,OU=Managed Groups,OU=Accounts,DC=americas,DC=myworld,DC=com";
String[] attrIDs = {"cn"};
srch.setReturningAttributes(attrIDs);
String search_target = "(member=CN=django@myworld.com,OU=US,OU=Users,OU=Accounts,DC=americas,DC=myworld,DC=com)";
NamingEnumeration answer = cntxt.search( search_start, search_target,srch );
boolean isInGroup = false;
while(answer.hasMore()) {
SearchResult rslt = (SearchResult)answer.next();
Attributes attrs = rslt.getAttributes();
NamingEnumeration<String> all = attrs.getIDs();
isInGroup = true;
break;
}

Minha tarefa agora é descobrir também se a pessoa pertence a uma organização de nível superior. Não tenho ideias para descobrir que tipo de consulta posso usar nesse caso. Alguém pode dar algum conselho sobre isso?

Saudações, Koya

Respostas:

0 para resposta № 1

Supondo que sua UO de nível superior seja: OU=Accounts,DC=americas,DC=myworld,DC=com

Você não poderia simplesmente alterar o seguinte para alcançar o que precisa?

// ...
String search_start = "OU=Accounts,DC=americas,DC=myworld,DC=com";
// ...
String search_target = "(member=CN=django@myworld.com,OU=Accounts,DC=americas,DC=myworld,DC=com)";
// ...