0

GWTP でのセッション管理に関する基本的な質問がいくつかあります。

クライアント : GWTP、サーバー - Guice と Jersey を使用した安らかな Web サービス。

RPC メカニズムを備えたバックエンド サービスがある場合、アプリケーション セッションの管理は簡単です。しかし、android で実行されている GWT クライアントと、Jersey を使用して RESTful Web サービスとして公開されているサーバー側のロジックでは、Restful WS はステートレスであるため、どうすればセッションを維持できますか。この場合、ユーザー セッションをどのように達成するのでしょうか。

4

2 に答える 2

0

セッション管理に関しては、を使用するか、を使用するかに違いはありGWT's RPCませRequestFactoryRequestBuilder

Webでの通信は、使用している通信プロトコルに関係なく、基本的にステートレスです。
従来、セッション管理はサーバー側のセッションを介して行われます。
ただし、RESTfullサービスは、安らかな原則に違反するため、サーバー側のセッションに依存することは想定されていません。したがって、基本的にそれを行うには2つの方法があります。

  1. 安らかな原則に違反することをあまり気にしない場合は、サーバー側のセッションをデプロイできます(詳細については、ここを参照してください)。
  2. OAuthを使用する(https://wikis.oracle.com/display/Jersey/OAuth
  3. どういうわけか、バックエンドへのすべてのリクエストのcredentials/securityTokenを渡します。おそらく、GWTPのClientActionHandlersを使用してこれを行うことができます。
于 2012-06-21T13:02:38.377 に答える
0

さまざまな方からのコメントをたくさんいただいた結果、私がやろうと思ったことをここに記します。

私のアプリケーションは、ブラウザ ベースのアプリやモバイル デバイスからもアクセスできます。アプリケーションは、ブラウザベースのアプリ用に最初にサーバーで http セッション管理を記述しました。モバイル クライアントを取得すると同時に、モバイル デバイスとブラウザー クライアントにも同じサービス レイヤーを使用して、Rest Web サービスを実装しました。

ユーザーがモバイル デバイスでログインすると、一意の認証トークンが作成され、このトークン ID を使用して http セッションがキーとして保存され、値マップがアプリに保存されます。後で、モバイル デバイスからのすべてのユーザー リクエストがこのトークンを返し、このトークンを使用してマップからセッションを取得し、続行することを期待します。

このアプローチについて意見はありますか?

于 2012-07-02T06:18:34.840 に答える