2012-01-11 13 views
0

ウェブフロントエンドを含むRailsアプリを開発すると同時に、クライアントアプリケーションにサービスを公開します。このクライアントアプリケーション(現在は.Netで書かれています)は、サービスに機密データではなく統計情報だけを送信します。このデータはサイトのユーザーアカウントに結びついているため、オンラインで結果を表示できます。クライアントアプリの確認

私の質問は、ウェブサイトにアプリをダウンロードしたユーザーを確認する最善の方法に関するものです。

- ユーザーがアプリでログイン情報(ユーザー名/パスワード)を入力して、そのデータと一緒に送信することをお勧めします(ほとんどの場合可能性があります)暗号化された)。 - 誰かがアカウントを登録したときに、クライアントアプリケーション専用のキーを生成し、アプリケーションのインストール時にそのキーを提供するようにします。

これらのいずれかが優れた選択肢ですか、それとも私が考えていない他の方法がありますか?

答えて

2

これらは、状況を処理する基本的な方法のようです。どのクライアントを実装するかは、クライアントアプリケーションの特定のコピーを1人のユーザーだけが使用するかどうかによって決まります(クライアントに格納されているキーをWebアプリケーションで生成すると意味があります。ユーザーが自分のデータをアップロードするたびにログインする手間)、または潜在的に複数のユーザーによるものです(その場合は、それぞれを個別に使用するたびに認証する必要があります)。

+0

これは意味があります。その上に私はおそらく少しアプリを詳しく説明する必要があります。私はそれがちょうどファイルのフォルダの変更を監視するシステムトレイアプリとして実行されると思っている。アプリケーションはファイルを受け取り、解析し、Web上のデータベースにデータをアップロードします。私はちょうど誰かがその道を下って行っているかどうか分からないし、何かアドバイスがある。 –

+2

@MrTheWalrus私は、ユーザが自分のユーザ名とパス(ハッシュと塩漬けのクライアント側)を与え、それがサーバ側の対応するハッシュ&ソルトパスと比較されると仮定します。次に、クライアントは鍵ペアを生成し、そのサーバに公開鍵のコピーを送信します。そうすれば、コンテンツを暗号化して署名(機密性と認証)することができます。 – Daisetsu

+1

@大雪私は、より抽象的なレベル(ユーザーエクスペリエンス/設計と実装)で問題を考えていましたが、あなたが説明するプロセスは、実際には正しい方法のように聞こえます。 – MrTheWalrus