ASP.NET MVC 4/Web API 単一ページのモバイル Web サイト (jQuery Mobile も使用) を開発しました。デスクトップブラウザ。このモバイル Web サイトは、イントラネット サイトのように内部でホストされます。ただし、モバイル デバイスからアクセスしているため、Windows 認証は使用できません。どのユーザー (およびその役割) がモバイル Web サイト アプリにログインしているかを知る必要があります。
ASP.NET のフォーム認証とメンバーシップ プロバイダーを単純に使用してみましたが、思いどおりに動作させることはできませんでした。ここで必要なのは、ユーザーがモバイル デバイスで初めてサイトにアクセスしたときにのみ、ユーザー名とパスワードの入力を求められるようにすることです。正しいユーザー名とパスワードを入力し、一度認証されると、その後サイトにアクセスするたびに、すぐにアクセスする必要があります。資格情報を再入力する必要はありません (つまり、何かをローカルに保存する必要があります)。初回以降は各デバイスでユーザーを識別します)。
これが私たちが困ったところです。すべてが初めて期待どおりに機能しました。つまり、ユーザーはユーザー名とパスワードの入力を求められ、その後、認証されてサイトへのアクセスが許可されました。問題は、ブラウザがモバイル デバイスで閉じられるたびに、デバイスとユーザーがわからず、ユーザーがユーザー名とパスワードを再入力する必要があることです。
私たちもいろいろ試しました。JavaScript で永続的な Cookie を設定してみました。ダメ。Cookie は 2 回目に読み取られるものではありませんでした。ASP.NET から永続的な Cookie を手動で設定しようとしました。ダメ。もちろん、FormsAuthentication.SetAuthCookie(model.UserName, true); を使用しました。フォーム認証フレームワークの一部として。ダメ。HTML5 ローカル ストレージを使用してみました。ダメ。何を試しても、ユーザーがモバイル デバイスを使用している場合は、毎回ログインする必要があります。(注: iOS 5.1 と 6.0 の両方を実行する iPad と iPhone で試し、Safari で Cookie を許可するように構成し、Android 2.3.4 で試しました。)
このようなシナリオを機能させるためのトリックはありますか? それとも、ある種のカスタム認証メカニズムを作成する必要がありますか? もしそうなら、どのように?そして何?それとも、クレーム ベース認証や WIF などを使用する必要がありますか? または???
どんな助けでも大歓迎です。ありがとう!