私はここで同様の質問を見ましたが、それらのどれも私の状況に実際に対処していませんでした、これがセットアップです:
ユーザーが監査結果を送信できるFormsAuthentication(SqlMembershipProvider)を備えたASP.NETアプリケーションがあります。
ユーザーがインターネットに接続していないときに監査結果を送信できるように、軽量のデスクトップアプリ( MyAppと呼びます)(オフラインを使用するため)を作成したいと思います。
これが必需品です:
- SqlMembershipProviderに対してユーザーを認証します(匿名ユーザーは監査結果を送信できません)
- ユーザーに一度だけ資格情報を要求します(ユーザーがMyAppを開いたとき)(認証トークンを保存する機能がありますが、場合によっては、複数のユーザーが使用しているラップトップにMyAppがインストールされるため、MyAppが開いているたびにユーザーにログインを強制する必要があります)
- パスワードをプレーンテキストで保存しないでください( MyAppを開いたときにユーザーがオフラインの場合、接続が利用可能になるたびにユーザーを認証するために資格情報を保存したい)-これが可能かどうかわからない
上記の3つのことを理解したら、残りは簡単です。
上記が混乱する場合の簡単なシナリオを次に示します。
- MyAppはオフィスのラップトップにインストールされており、旅行中に持ち歩くことができます。
- 2人のユーザーが遠隔地(インターネットなし)に移動し、2つの個別の監査を実施します
- ユーザー1はMyAppを開き、ユーザー/パスを提供し(MUST-HAVESの#2を参照)、3つの結果を送信します(ユーザーを認証し、接続が利用可能になるたびに結果を送信するために、ユーザーの資格情報とともに結果を保存します)-#を参照必需品の1と#3
- ユーザー2はMyAppを開き、ユーザー1がステップ3で行ったのと同じルーチンを実行します。
- 2日後、彼らはオフィスに戻り、インターネットが利用可能になり、ステップ3と4の結果が、それぞれのユーザーに代わって私のWebアプリに送信されます。
私はMicrosoftSyncフレームワークを調べましたが、それは私がやっていることに対してやり過ぎのように見えました(そして、それが私の必需品にも対応できるかどうかはわかりません)。
彼らが私の必需品を説明する限り、私はどんな代替アプローチにもオープンです。
ご協力ありがとうございました。