Как мне создать новый HttpSession в веб-приложении RESTful? - PullRequest
0 голосов
/ 21 апреля 2009

Мне нужно создать HttpSession (через cookie), когда клиент вызывает конкретный пользовательский интерфейс.

Предположения:

  • Давайте предположим, что я не буду беспокоиться о каком-либо глубоком oAuth-подобном танце аутентификации. Олицетворение cookie-файлов JESSIONSID на данный момент не является проблемой.
  • Сервер является tomcat, поэтому файл cookie JSESSIONID отправляется клиенту при создании нового сеанса.

Проблемы дизайна:

  1. Я пытаюсь понять, как спроектировать URI. Что на самом деле является ресурсом REST? У меня уже есть / users и / users / {someuserid} . Я хотел использовать / auth / login , но в одном предыдущем SO-вопросе в одной цитируемой статье говорится, что в URL не должно быть глаголов. Я заметил, что даже Google совершает ту же ошибку , имея https://www.google.com/accounts/OAuthGetRequestToken. Так что, по вашему мнению, / auth / login / johndoe (login) и / auth / logout / johndoe (logout) хорошие варианты?

UPDATE:

Я изменил свой дизайн. Сейчас я думаю об использовании URI / session / johndoe ( PUT для входа в систему, DELETE для выхода из системы). Это все еще должно быть в пределах духа REST?

Ответы [ 2 ]

4 голосов
/ 21 апреля 2009

Разве сеансы не имеют значения в REST Style Architecture?

http://www.prescod.net/rest/mistakes/

0 голосов
/ 06 мая 2009

Я нахожусь в процессе создания конечной точки REST, которая распознает сеансы. Я стандартизировал:

  • POST / session => возвращает Местоположение: http://server/api/sessions/1qazwsxcvdf
  • DELETE / сеансы / 1qazwsxcvdf => делает недействительным сеанс

Работает хорошо.

...