@VisibleForTesting
  void authenticateIfMultiUser(final Connection connection, final Op op) {
    if (!connection.getServer().getRequiresCredentials()) {
      return;
    }

    if (!((AbstractOp) op).needsUserId()) {
      return;
    }

    if (!pool.getMultiuserAuthentication()) {
      return;
    }

    final UserAttributes ua = getUserAttributesFromThreadLocal();
    if (ua == null) {
      return;
    }

    synchronized (ua) {
      if (ua.getServerToId().containsKey(connection.getServer())) {
        return;
      }
      authenticateMultiuser(pool, connection, ua);
    }
  }
This method will throw an exception if we need to stop the connection manager if there are
failures.
geode-core/src/main/java/org/apache/geode/cache/client/internal/OpExecutorImpl.java