4

Web サイトを介して保存および管理されるユーザーのタスクを備えたオーガナイザーを開発しています。Web サイトでは、ASP.NET MVC 4 と backbone.js を使用しています。次に、PhoneGap を使用してモバイル アプリを作成します。ユーザーはログイン/登録できるようになり、外出先で携帯電話/タブレットを使用してタスクを管理できるようになります。だから私の問題は、ログイン方法がわからず、サーバーからタスクを取得する方法がわからないことです。

現在、backbone.js を使用しており、サーバー上にタスクを管理する API があります。私の考えは、ASP.NET MVC から同じコード (html、css、js のみ) を使用することでした。簡単に動作するはずですが、その API ではユーザーをログに記録する必要があり、これには単純なメンバーシップと Web セキュリティが使用されます。モバイル版では使用しないバックエンド部分で使用され、ユーザーがどのようにログインするのか正確にはわかりません.

もう1つのアイデアは、ユーザーの資格情報をチェックして(ユーザーが有効なログインデータを入力したかどうかを判断できるサーバーへのAJAXリクエストを使用して)、電話(ローカルストレージなど)でユーザーIDを取得し、APIを使用することでしたユーザーがログインする必要がなく、ユーザーのタスクを管理するサーバー(ユーザーIDを渡す)。しかし、これは巨大なセキュリティ ホールになると思います。なぜなら、誰もがユーザー ID を入力するだけでタスクを変更できるようになるからです。レイモンド カムデンのログイン例 (ここを参照) を既に見つけましたが、これはおそらくこのアイデアに役立つ可能性がありますが、それはログイン部分のみを対象としています (デバイスにのみログオンしていますが、説明したセキュリティ ホールの問題は依然として懸念されます)。

そのため、デバイスでのログインを実現する方法と、サーバーからユーザーのデータを取得する方法のアイデアを教えていただければ幸いです。概念的なアイデアだけでも本当にありがたいです。

4

2 に答える 2

2

サーバー側のコードを公開するためにコントローラーフォルダー内にWebAPIコントローラーを作成することにより、WebAPIインターフェイスを作成できます。認証には、認証ヘッダーでユーザーの資格情報を指定することにより、HTTP基本認証を使用できます。ここで、Web APIメッセージハンドラーで、ユーザーの資格情報を読み取り、ユーザーを承認する必要があります。これはこのトピックに関する良い記事です。。基本認証を使用することの1つの欠点は、すべての要求に対して、ADのデータベースにアクセスしてユーザーを認証する必要があることです。これを防ぐには、ユーザーが最初に認証された後にセキュアトークンを作成し、それをクライアントに渡して、今後のすべてのリクエストでクライアントがこのセキュアトークンを使用できるようにします。パフォーマンスが重要でない場合は、基本認証で十分です。

于 2013-03-18T18:48:32.503 に答える