/ / LDAP Überprüfen Sie die Existenz einer Person in einer Organisation auf oberster Ebene - java, ldap, jndi

LDAP Prüfung auf Personen Existenz in einer Top-Level-Organisation - Java, LDAP, Jndi

Ich bin ein Einsteiger in LDAP und habe in den letzten Tagen gelernt, wie man LDAP-Abfragen macht. ich verwendet dieses Fragment des Codes, um die Mitgliedschaft einer Person in einer Gruppe zu finden.

    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;
}

Meine Aufgabe ist es nun auch herauszufinden, ob die Person einer Organisation auf oberster Ebene angehört. Ich habe keine Ideen, um herauszufinden, welche Art von Abfrage ich in einem solchen Fall verwenden kann. Kann jemand dazu einen Rat geben?

Grüße, Koya

Antworten:

0 für die Antwort № 1

Angenommen, Ihre oberste Organisationseinheit lautet: OU=Accounts,DC=americas,DC=myworld,DC=com

Könnten Sie nicht einfach Folgendes ändern, um das zu erreichen, was Sie brauchen?

// ...
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)";
// ...