in src/main/java/org/apache/sling/jackrabbit/usermanager/impl/AuthorizablePrivilegesInfoImpl.java [248:265]
public boolean canUpdateGroupMembers(Session jcrSession, String groupId) {
boolean hasRights = false;
try {
hasRights = checkAuthorizablePath(jcrSession, groupId,
Group.class::isInstance,
path -> {
//check if the non-admin user has sufficient rights on the home folder
AccessControlManager acm = jcrSession.getAccessControlManager();
return acm.hasPrivileges(path, new Privilege[] {
acm.privilegeFromName(Privilege.JCR_READ),
acm.privilegeFromName(PrivilegeConstants.REP_USER_MANAGEMENT)
});
});
} catch (RepositoryException e) {
log.warn("Failed to determine if {} can remove authorizable {}", jcrSession.getUserID(), groupId);
}
return hasRights;
}