I am trying to search an entry on ldap based on the name of the same entry.
The search entries that I am getting are similar to this one:
CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2
What I want to do is filter my search to just show the entry with that name because currently I´m getting all of the entries:
SearchRequest searchRequest = new SearchRequest(ldapConfig.getBaseDn(), SearchScope.SUB,
Filter.createEqualityFilter("objectClass", "person"));
I'm using ldap unboundid with springboot.
To find "CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2" or any entry you know the DN is correct, you need something like:
SearchRequest searchRequest = new SearchRequest("CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2", SearchScope.BASE, Filter.createEqualityFilter("objectClass", "person"));
You should also consider a READ similar to:
LDAPConnection.read("CN=nameOfTheUser,OU=firstGroupName,...,DC=domain1,DC=domain2",
java.lang.String[], LDAPSearchConstraints)
If you need to find the entry, then a search request similar to:
Filter andFilter = new Filter.createANDFilter(
Filter.createEqualityFilter("objectClass", "person"),
Filter.createEqualityFilter("cn", "nameOfTheUser"));
SearchRequest searchRequest = new SearchRequest("new SearchRequest(ldapConfig.getBaseDn()", SearchScope.BASE, andFilter);
-jim