Я работаю над добавлением функциональности WebSockets в свое приложение Grails. Для этого я использую плагин Atmosphere Meteor 0.7.1. Рабочий процесс прост:
- Пользователь входит в систему.
- Открытая страница пользователя с функциональностью WebSockets
- Пользователь нажимает кнопку «Подключиться», чтобы установить соединение ... и сервер не распознает его.
Я хотел бы знать, какой пользователь подключил мой webSocket.
Обычно определить текущего пользователя довольно просто, вызвав springSecurityService.getPrincipal()
в любом контроллере. Мне удалось ввести springSecurityService
в свой MeteorHandler, однако он говорит, что основным является null
. Мне это кажется странным, поскольку обработчик имеет доступ к JSESSIONID
cookie, поэтому я ожидаю, что он получит правильные данные сеанса.
Кроме того, команда request.session
возвращает другой объект HttpSession по сравнению с той же командой, выполняемой в обычном действии контроллера.
Итак, есть ли способ получить текущего пользователя, вошедшего в систему, при подключении к веб-сокетам?
Заранее спасибо.