It could help you too look into this query I perform when I want to know whether a user has the rights of a group
Code:
(&
(memberOf:1.2.840.113556.1.4.1941:=CN=group_id,OU=groups,DC=my,DC=lan)
(objectClass=user)
(uid=username)
)
The part ":1.2.840.113556.1.4.1941:" searchs also for users who are indirectly within this group.
In Java you yould do something like that:
Code:
String groupDN = ...;
String username = ...;
AndFilter filter = new AndFilter();
filter.and(new EqualsFilter("memberOf:1.2.840.113556.1.4.1941:", groupDN));
filter.and(new EqualsFilter("objectClass", "user"));
filter.and(new EqualsFilter("uid", username));
ldapTemplate.searchForObject(DistinguishedName.EMPTY_PATH, filter.encode(), new MyMapper());