2011-03-04 7 views
1

私たちはAndroidアプリケーションを開発中のWebapplication - Food Reviewサイトを作成しています。Android AppとWebサービスの結合

特定のユーザーのアプリケーションセッションをインターネット経由でアプリケーションに結合する方法を知りたい。

ユーザーがアプリケーションを使用してログインすると、そのユーザーだけに関連するコンテンツをどのように提供できますか。どのユーザーがリクエストしているかをどのように知ることができますか?

+1

ちょうどこれについて考えています。私はあなたが本当にそのセッションを持つことはできないと思います。私はあなたのアプリケーション(おそらくAndroidHttpClientを介して)と握手をして、あなたのサーバー(またはあなたのアプリケーション)が理解し、あなたのユーザーのために適切なコンテンツを提供するsessionIdを生成する必要があると思います。ちょうど私の思考..そのための信頼できる答えのためにコメントとして投稿:-) – Chris

+0

ありがとうクリス... –

答えて

1

Webアプリケーションと同じ方法で状態を維持できます。ブラウザがCookieを保存すると、一致するドメインに送信されたリクエストがHTTPヘッダーにCookieを取得することになります。 AndroidでHTTPリクエストを作成するときは、ヘッダーを完全に制御できるので、簡単にクッキー値を追加できます。

E.G.オーセンティケータに投稿し、クライアントの詳細を送信します。あなたはその値を読んで、あなたが作る任意のHTTPリクエストに添付し、サーバは次のようになりでき

Cache-Control:private, max-age=0 
Content-Encoding:gzip 
Content-Length:173 
Content-Type:text/html; charset=UTF-8 
Date:Fri, 04 Mar 2011 12:24:32 GMT 
Expires:Fri, 04 Mar 2011 12:24:32 GMT 
Location:http://www.google.co.uk/ 
Server:GSE 
Set-Cookie:SID=UNIQUESIDGOESHERE;Domain=.google.co.uk;Path=/;Expires=Mon, 01-Mar-2021 12:24:32 GMT 
HSID=SOMETHINGELSEUNIQUEHERE;Domain=.google.co.uk;Path=/;Expires=Mon, 01-Mar-2021 12:24:32 GMT;HttpOnly 

:オーセンティケータは通常、ここにGoogleのクッキーの設定レスポンスヘッダの消毒バージョンです、その応答ヘッダー内のクッキーを含む応答することになりますあなたが普通のウェブブラウザではないことを賢明ではない。

+1

この男のおかげで..これは本当に私のためにも役立った! –

+0

ありがとう:) –

1

アンドロイドはかなりステートレスであるモバイルアプリケーションで行う方法をその私はPHPの背景から来まし

ので、私は少し混乱しています。 (私はそれが州を使用することができますが、私はこれまでのところそのような例を見ていません)

私はあなたがウェブ上で持っているようにセッションを持つことはできないと思います。

特定の期間にユーザーを認証するためのトークン方法を使用できます。実装されたOAuthのようなWebサービスは実現します。

あなたのアンドロイドアプリはリクエストごとにトークンを送信し、あなたのサーバーはそのトークンの世代と有効期間を管理します。

この音はどうですか?

+0

ええ、同じ考えていた。そのようなシステムをどう構築するかはわかりませんでした。どのように私はこれのようなものを実装することができるか説明するガイドに私を指すことができます。 –

+0

私はこのようなシステムを私の心で考案することしかできませんが、今のところあなたを指すリンクはありません。もう一つの注意点として、@ CMFは非常に良い答えを掲示しています。その方法を試すこともできます。 –

関連する問題