powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / REST и Spring JSESSIONID
8 сообщений из 8, страница 1 из 1
REST и Spring JSESSIONID
    #39127038
alexanoid1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В данный момент реализую REST вебсервисы в одном проекте. Задался вопросом насколько аутентификация на базе JSESSIONID нарушает принципы REST. JSESSIONID характеризует собой идентификатор сессии на стороне сервера а один из принципов REST говорит о том, что он должен быть stateless. В свою очередь в данном конкретном случае сессия используется только для хранения аутентификационной информации и больше не для чего.. никакого кастомного пользовательского состояния в ней храниться не будет. Можно ли считать такой подход допустимым при создании REST вебсервисов ?

Размышляя далее можно привести пример с OAuth2 где пользователю после успешной аутентификации/авторизации присваивается accessToken который обычно хранится в соответствующей таблице в базе данных. Такой подход считается stateless. В случае с JSESSIONID это фактически тот же accessToken только по умолчанию он хранится в другом месте.. в памяти.. на диске.

Так же при подходе с использованием JSESSIONID в кластерной среде необходимо настроить репликацию сессий.. но и этот подход очень схож с репликацией базы данных скажем тогда, когда мы используем OAuth2 accessToken.

Помогите пожалуйста разобраться в этом вопросе.
...
Рейтинг: 0 / 0
REST и Spring JSESSIONID
    #39127054
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexanoid1,
imhoнарушает. Тем более причины что-то хранить между вызовами сервиса нет необходимости.
Но, сам веб сервисы не строил. Загугли какие там способы аутентификации.
...
Рейтинг: 0 / 0
REST и Spring JSESSIONID
    #39127060
WGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WGA
Гость
alexanoid1Можно ли считать такой подход допустимым при создании REST вебсервисов ?Это уже Вам решать - удобно или нет.

В одном проекте мы хранили в куке зашифрованный ID записи с сессионными данными в БД. Сам сервер был stateless. Можно было смело запросы на разные ноды кластера посылать и все работало корректно. Вот только со временем пришло ощущение, что делаем велосипед и HTTP-сессии реализуем руками. Настроили weblogic на хранение сессий в БД и все заработало точно также. Только стала доступна аннотация @SessionScoped, а это гораздо удобнее.
...
Рейтинг: 0 / 0
REST и Spring JSESSIONID
    #39127113
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос из разряда: "осетрина второй свежести", "немного беременная".... etc..

Сервис или REST или НЕТ.

IMHO
...
Рейтинг: 0 / 0
REST и Spring JSESSIONID
    #39127165
alexanoid1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WGA,

просто одним из констрейнтов которые четко декларирует RESTявляется Stateless - The client–server communication is further constrained by no client context being stored on the server between requests.

В данном случае сессия все же создается но используется только для хранения аутентификационной информации и не более... вот пытаюсь понять чем такой подход отличается от скажем того же хранения той же информации в БД(который судя по всему этот Stateless констрейнт не нарушает)..

Фактически в данном случае сессия является контейнером для аутентификационной информации.. судя по всему таким же идеологически как и например база данных.

Именно поэтому хотелось бы получить мнение людей детально разбирающихся в данном вопросе.
...
Рейтинг: 0 / 0
REST и Spring JSESSIONID
    #39127234
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexanoid1,

На stackoverflow пережовано ведь:
http://stackoverflow.com/questions/3105296/if-rest-applications-are-supposed-to-be-stateless-how-do-you-manage-sessions
http://stackoverflow.com/questions/15051712/how-to-do-authentication-with-a-rest-api-right-browser-native-clients

Один из моментов это интепретация понятия stateless. Под ним подразумевается не состояние сервера, ведь запросы вроде того же PUT и DELETE его изменяют. А состояние - клиента. Сервер не хранит состояние клиента и это позволяет масштабировать систему достаточно широко.
...
Рейтинг: 0 / 0
REST и Spring JSESSIONID
    #39127243
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexanoid1...Так же при подходе с использованием JSESSIONID в кластерной среде необходимо настроить репликацию сессий.. но и этот подход очень...
А этого мало?

AFAIK например цена WebLogic с кластерным решением и без оной - две очень большие разницы.

А так, ситуации бывают разные.
...
Рейтинг: 0 / 0
REST и Spring JSESSIONID
    #39128047
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevAFAIK например цена WebLogic с кластерным решением и без оной - две очень большие разницыЦена - вообще не показатель в техническом вопросе.
А так - Blazkowicz прав: то, что сервер отслеживает запросы конкретного UA - чисто его, сервера, внутренние дела.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / REST и Spring JSESSIONID
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]