2

asp.net mvc 2 を使用して作成された単純な jQuery Mobile サイトがあり、基本的なフォーム認証を使用してサイトへのアクセスを許可しています。

このアプリケーションは、地域マネージャーが地域チームに割り当てられた現在の問題に関する詳細を表示できるようにする単純な作業日誌です。

モバイル接続が利用可能な場合、アプリは非常にうまく機能しますが、信号が不足しているため、アプリケーションのコアをオフラインで利用できるようにする可能性を調査する必要があります. HTML 5 を使用してアプリをオフラインにする可能性を調査していますが、ユーザーの認証に関する情報が見つかりません。

このアプリは非常に基本的なもので、基本的に、ジョブの詳細にドリルダウンする 2 つの異なるリスト画面があります。

1. Login    
    1.1 Job List    
        2. Job Details

    1.2 Team Diary    
        2. Job Details

接続が利用できないときに日記を閲覧できるオフライン バージョンのデータを作成するのは簡単だと思いますが、許可されたページに到達する前に認証が必要なサイトに関する情報を見つけることができません。オフラインにする。

コンテンツは機密データではありませんが、クライアントは明らかに、公開されている Web サイトで作業日誌を閲覧できることを望んでいません。

オフラインで使用される可能性があるサイトでユーザーを認証するための推奨される方法は何ですか?

4

2 に答える 2

4

ああ。あなたが今何を求めているかわかりました。私は次のように提案します。

ユーザーが最初にアプリケーションにアクセスすると、ローカル データ (正しいローカル データ?) の存在がチェックされ、そのローカル データが存在する場合は、ユーザーがシステムにアクセスできると見なされます。次に、インターネット接続を確認します。存在する場合は適切な資格情報を要求し、接続がオフラインで機能しない場合は、適切な資格情報を要求します。したがって、彼らはオフラインで快適に作業できます。

そのユーザーがインターネットへの接続を回復したら、ローカルとリモートを同期する前に、ユーザーに資格情報を尋ねます。元々インターネットに接続していた場合、アプリケーションは間違いなく適切な認証のトークンを保存し、問題なく同期できます。それ以外の場合は、今すぐパスワードを要求してください。

于 2011-11-29T21:16:08.320 に答える
0

オフラインで使用するために MVC3 サイトを改造していますが、同じ問題がいくつか発生しています。

気をつけなければならないことの 1 つは、ブラウザが cache.manifest にリストされているすべてのファイルをすぐにダウンロードしようとすることです。これは、ユーザーがまだログインしておらず、ユーザーが認証されていない場合にログイン ページへの従来のリダイレクトを使用している場合に問題を引き起こします。これらのページの「静的な」ビューをパブリック アクセスに開き、更新の取得/送信を試みる前に、ユーザーがログインしているかどうかを JavaScript で判断できるようにする必要があります。これにより、静的な非コンテンツ ページがブラウザーによってダウンロードされ、JavaScript が必要に応じてコンテンツを管理できるようになります。

私のアプリは、 Jim Lehmer から借用した方法を使用して、オンライン接続を検出します。

接続されていることを確認したら、Account コントローラーで、ユーザーが認証されているかどうかを適切に返す小さなアクションを作成しました。

    public JsonResult IsAuthenticated()
    {
        return Json(new { Request.IsAuthenticated }, JsonRequestBehavior.AllowGet);
    }

それが役立つことを願っています!

于 2012-01-30T23:12:00.150 に答える