Reputation: 245
Im trying to get all entities with the "OU=Users". Right now i can get all the entities but i just wanted the entities that belong to the group User.
I have tried to change my search request but everything failed:
SearchRequest searchRequest = new SearchRequest(ldapConfig.getBaseDn(), SearchScope.SUB,
Filter.createEqualityFilter("(objectClass=Users)", "person"));
Here is the full code:
SearchRequest searchRequest = new SearchRequest(ldapConfig.getBaseDn(), SearchScope.SUB,
Filter.createEqualityFilter("(objectClass=Users)", "person"));
ASN1OctetString resumeCookie = null;
while (true) {
searchRequest.setControls(new SimplePagedResultsControl(10, resumeCookie));
SearchResult searchResult = ldapConnection.search(searchRequest);
numSearches++;
totalEntriesReturned += searchResult.getEntryCount();
for (SearchResultEntry e : searchResult.getSearchEntries()) {
System.out.println(e.getDN());
}
cont++;
LDAPTestUtils.assertHasControl(searchResult, SimplePagedResultsControl.PAGED_RESULTS_OID);
SimplePagedResultsControl responseControl = SimplePagedResultsControl.get(searchResult);
if (responseControl.moreResultsToReturn()) {
// The resume cookie can be included in the simple paged results
// control included in the next search to get the next page of results.
resumeCookie = responseControl.getCookie();
} else {
break;
}
Ldap sample:
CN=name,OU=Users,OU=group2,OU=group3,OU=group4,OU=group5,DC=dc1,DC=dc2
Upvotes: 2
Views: 1196
Reputation: 11
You may try something close to:
fun exaple(baseDN: String = "DC=dc1,DC=dc2", groupName = "groupName") {
val groupDN = "CN=$groupName,CN=Users,$baseDN"
val filterForUsersInGroup = Filter.createANDFilter(
Filter.createEqualityFilter("objectClass", "user"),
Filter.createEqualityFilter("memberOf", groupDN)
)
client.search(baseDN, SearchScope.ONE, filterForUsersInGroup)
}
Upvotes: 0