Управление информацией для входа в веб-приложение RESTful - PullRequest
0 голосов
/ 19 января 2012

В приложении RESTful состояние не поддерживается между двумя запросами. Каждый запрос рассматривается как совершенно новый, даже если он был бы отправлен одним и тем же пользователем. То есть Там нет сессии.

В таком случае, как информация о входе пользователя обрабатывается приложением REST?

  1. Является ли это, после успешного входа в систему сервер генерирует токен безопасности и отправляет его клиенту, а клиент отправляет его обратно для каждого запроса после этого?
  2. Если выше верно, где токен безопасности хранится на сервере? База данных? (Помните: нет сессии).

Ответы [ 2 ]

1 голос
/ 19 января 2012

Является ли это, что после успешного входа в систему сервер генерирует токен безопасности и отправляет его клиенту, а клиент отправляет его обратно для каждого последующего запроса? Если выше верно, где токен безопасности хранится на сервере? База данных? (Помните: нет сессии).

Ehrm. Отправлять клиенту токен, который будет отправляться обратно при каждом последующем запросе, только для получения информации, связанной с этим токеном, из базы данных на стороне сервера? Это называется сеансом. Это именно то, что делают PHP-сессии, кроме хранения информации в файле, а не в базе данных. Вы воссоздаете сессии.

Во всяком случае, я думаю, что мантра "нет сессии, нет состояния" переоценена и не очень практична. Я думаю, что более чем нормально хранить простой файл cookie, содержащий токен, чтобы вы могли идентифицировать пользователя и связать (некоторые) данные с этим пользователем. Во всяком случае, я думаю, что не важно сохранять состояние приложения (например, что пользователь сделал ранее и что он делает сейчас) - это самое важное.

0 голосов
/ 23 августа 2012

Или вы можете зашифровать все в токене, и каждый запрос может получить всю информацию о пользователе, включая имя, временную метку и т. Д. Из этого токена.

Единственное, что сервер должен знать, это кодирование / декодированиеалгоритм.

Еще лучше, сервер может вызвать службу аутентификации (которая может быть полностью независимой) для аутентификации и авторизации пользователя.

Простое - это всегда хорошо!

...