.NET3.5を使用してスマートクライアントアプリケーションを作成しています。WCFサービスを介して接続してSQLServer2008からデータを取得するWinformsクライアント。ユーザー名/パスワード(暗号化されたHTTPS経由)を渡して、次のような情報を返す必要があります。
- このユーザー(電子メールアドレス)は現在のサブスクリプションの下にありますか
- 後続のすべての呼び出しで次にどのサーバーに移動する必要があるか(貧乏人の負荷分散)
- サブスクリプションなどに応じて異なるデータベースを使用する可能性があるため、接続文字列で使用するサーバー/データベース(資格情報は不要)。
したがって、サインオン時の最初の呼び出しは、ルックアップが実行される資格情報を送信します。シリアル化可能なクラスを使用して、有効期限、サーバー情報、データベース情報を返すトークンオブジェクト(これを処理する方法だと思います)を作成します。
問題は、後続のすべての呼び出しで、このトークンをすべてのサービスコントラクト(Webメソッド)にパラメーターとして渡すか、それとも現在のすべてのコントラクトをそのままにして、ヘッダーまたはその他のより一般的なメソッドでトークンを渡すことができるかということです。
私が説明するようなトークンシステムの実装をどのように提案しますか?
ありがとうございました