2011-12-22 17 views
1

私は数か月間、暇な時間にAndroidアプリの開発に取り組んできました。私はオンデバイス側(サーバ側の対話を除く)のためのすべての計画を完了しましたが、サーバ側の実装では非常に熟練した学習曲線があります。私は実際のリードなしで約1ヶ月間研究しました。その結果、私は本当に死んでいる。私が含まれ、これらの最低限の要件に働いているアプリ:Railsに関連するHTTPリクエスト、セッションキー、および認証


  • デバイスからサーバにアカウント作成/認証を提供しなければならないが

  • は、ユーザー認証を可能にするセッションのいくつかの並べ替えを維持する必要があります は、ログインしているアカウントのコンテキスト内のサーバー上のユーザーデータにのみ影響を与える変更を加えることができます。

  • 特定の条件下でサーバーによってログアウトまたはログアウトする機能。

このサービスはAndroid搭載端末でのみ使用されるため、Webインターフェイスは必要ありません。

私はRailsの実装が私にとって最も望ましい選択だと決めました。 Railsとサーバーの一般的な経験は非常に限られています。友人は、「Agile Web Development with Rails」を読んで、スピードアップすることを勧めました。私はORMライブラリ、MVCパターン、足場を理解するためにデポアプリケーションのデモを十分に行いましたが、本がその情報を提示する方法にうんざりしました。すべてが非常に逐次的であり、著者は後で説明し、その時点までそれについて心配しないで、「方法」をたくさん省略しているように見えます。それは私が学ぶ方法ではありません。私は逃げる。

これまでは、Railsで足場を使って、モデル、ビュー、およびアカウントテーブル用のコントローラを生成しました。私は、ユーザー名、パスワード、session_key(ログイン後にデバイスから接続するためにユーザーが受け取って使用する必要のあるランダムに生成されたキー)などの属性を設定しました。私はユーザー名とsession_keyが一意であることと、英数字のキー生成が正しく機能していることを確認しています(これらはすべてモデルで実行されています)。

ここでは、セッションを安心して管理することに焦点を当てたいと思います。私はこれを実装する必要があることを知っていますが、Androidデバイスは、HTTPリクエストやリソースへのアクセスなどの際にユーザーのセッションキーをサーバーに渡す必要がありますが、それ以外は紛失してしまいます。

私は、HTTPリクエストとレスポンスの一般的な仕組み、要求を使ってJSON情報を受信して​​解析する方法、安心して権限を管理する方法を概説してくれた人材(ユーザにすでにセッションキーが割り当てられていると仮定します)。私のアプローチが適切でない場合は、私があなたに何を示唆しているか教えてください。

ありがとうございます!

答えて

2

認証の場合は、チェックアウトすることができます。http://railscasts.com/episodes/250-authentication-from-scratch基本的には、session_keyを使用して認証を実行しています。もっと複雑なことがありますし、authlogic、devise、sorceryなどをチェックして、セッションを維持する方法を確認することもできます。ログアウトが必要で、おそらくログインする必要があるので、あなたがマスター認証と記述したセッションキーを使用して、毎回要求があった後にリセットされ、キープアライブとしてのクライアント。あなたの究極のニーズに応じて、それは十分なセキュリティと機能性があります。

JSONを受信するために、レールには組み込みの解析機能があります。 respond_toをご覧ください。 JSONを返送するには、任意の数のメソッドを使用できます。最も基本的なことは、レールが自動的にJSONを変換できるようにすることです(リンクのようにrespond_withが使用された場合に発生します)。あなたはまた発表者のクラスを構築するか、rablのような少しフォーマルなものを使うこともできます。

関連する問題