Я создаю webapp с Spring MVC на Tomcat7, и я использую Spring Security для аутентификации пользователей. Помимо стандартных контроллеров, у меня также есть сервлет websocket, который требует подключения для аутентификации.Проверка подлинности с помощью весенней безопасности
Поток выглядит следующим образом: клиент подключается к серверу и перенаправляется на страницу входа в систему, после успешной проверки подлинности он получает попытки подключения к сокету. Мне нужно убедиться, что только пользователь, прошедший проверку подлинности, может начать соединение с веб-сервером.
После некоторых исследований я обнаружил, что проверки подлинности запроса на перенаправление Http, который запускает соединение с веб-узлом, должно быть достаточно. Однако я не понимаю, как это сделать с использованием технологий, которые я использую. Простой перехват url, указывающий на websocket, похоже, не работает, поскольку попытки подключиться к концу сокета с ответом 302, поэтому я думаю, что аутентификация завершается неудачно, и я перенаправлен на мою страницу входа. Я был бы признателен за помощь в решении проблемы.
Благодаря
Я думаю, и это то, что я исследование для моего проекта, а также, что весна-безопасность проверки подлинности внутри элементов формы, но аутентификация WebSocket является отправляется как заголовок в кадре подключения. Я думаю, вам нужно написать фильтр, чтобы проверить элементы заголовка для данных логина/пароля и проверить пользователя. – demesne
Ответ на этот вопрос [вопрос] [1] может помочь вашему делу. [1]: https://stackoverflow.com/questions/25004081/springmvc-websockets-messaging-user-authentication-with-spring-security/27853391#27853391 – phuong