После того, как я прочитал много комментариев от разных пользователей о сеансовом управлении для приложений, поддерживающих Rest, вот что я думал делать.Управление сеансом в приложениях REST Service
Мое приложение может быть доступно из браузера (как обычного веб-приложения) и мобильных устройств. Приложение было написано с помощью управления сеансом http на сервере вначале для приложения на основе браузера. Теперь, получая Мобильный клиент, мы реализовали веб-службы Rest, с тем же уровнем обслуживания для мобильного устройства и браузера.
Когда пользователь входит в систему с помощью мобильного устройства, мы создаем уникальный токен аутентификации, генерируем сеанс http и сохраняем http-сеанс с этим идентификатором токена в качестве ключа, карту значений в приложении. Позже мы ожидаем, что каждый запрос пользователя с мобильного устройства вернет этот токен, и используя этот токен, вы получите сеанс с карты и продолжите.
Может ли кто-нибудь просмотреть мой подход и подтвердить, все ли в порядке?
Теперь у меня есть второй вопрос: мы используем JsonPRequestBuilder из GWT, чтобы вызывать службы REST с помощью jersey-guice. Как отправить этот токен в заголовок http во время вызова jsonp из GWT?
Внутренней частью определения веб-службы RESTful является ее безгражданство.Каждый запрос, сделанный из службы, должен содержать все данные, необходимые для выполнения запроса. Если сервер дает клиенту токен, тогда сервер теряет карту ключа/значения для этого токена (например, служба останавливается и перезапускается), этот токен и его прежнее состояние могут быть недействительными. Это не значит, что вы не можете делать то, что вы просите. Я просто не думаю, что вы можете назвать это RESTful. – JMD