Наше приложение использует веб-сокеты во встроенном причале. Клиенты передают заголовок http, содержащий идентификатор. Что мы пытаемся сделать, так это заблокировать соединения, если клиент с таким же идентификатором уже подключен. И нет, мы не говорим здесь об аутентификации пользователя.
Единственный способ сделать это, известный нам в настоящее время, — реализовать эту проверку в @OnOpen-Callback Endpoint. Проблема в том, что этот метод вызывается только после того, как соединение уже установлено. Таким образом, состояние подключения второго клиента переключается.
Вместо этого мы хотим выполнить проверку до того, как соединение будет установлено. Мы думали об использовании ServletFilter, но согласно ответу другого вопрос они не поддерживаются для связи через веб-сокет.
Есть ли способ для сервера предотвратить установление соединения через веб-сокет на основе произвольного условия?