Как обеспечить аутентификацию в веб-сервисах GAE (используя структуру рестлета)? - PullRequest
1 голос
/ 10 января 2012

Я ищу правильный способ аутентификации для моего GAE приложения.

Поскольку я использую фреймворк рестлетов для своих веб-сервисов, я обнаружил, что куки - это хороший способ для безопасных вызовов сервисов. Теперь мои сомнения:

  1. Что такое "подписать cookie"?
  2. Где хранить значения cookie? БД или любой статический класс?
  3. Как обеспечить шифрование для куки?
  4. Что если cookie отключен в браузере?

Есть ли лучший механизм, чем cookie?

1 Ответ

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

Если вы включите сеансы, обработка куки будет позаботиться о вас автоматически: http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions

Теперь сеансы обрабатываются для всех пользователей, вы должны следить за тем, кто аутентифицирован:

  1. Когда пользователь входит в систему, добавляет некоторые данные аутентификации в их сеанс .Эти данные могут содержать их идентификатор по истечении срока действия.
  2. Когда поступит запрос, посмотрите сеанс, если эти данные есть, и все ли они действительны.
  3. Если он действителен, действуйте как обычно.
  4. Если данные недействительны или отсутствуют данные авторизации в сеансе, вернуть ошибку (в случае REST) ​​или перенаправить на страницу входа.

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

...