When you set alternateBaseDN for user search, then if user is in alternateBaseDN, then it is not found in group list.
This is because of searching group members with appending BaseDN only, fragment of code:
public Collection getGroupNames(JID user) {
// Get DN of specified user
XMPPServer server = XMPPServer.getInstance();
String username;
if (!manager.isPosixMode()) {
// Check if the user exists (only if user is a local user)
if (!server.isLocal(user)) {
return Collections.emptyList();
}
username = JID.unescapeNode(user.getNode());
try {
username = manager.findUserDN(username) + “,” + manager.getBaseDN();
}
catch (Exception e) {
Log.error("Could not find user in LDAP " + username);
return Collections.emptyList();
}
}