古い .NET 1.1 リモート システムから .NET 4.0 WCF アーキテクチャに移行しています。システムの一部は、中間層にある 300 以上の関数を呼び出すために使用しているデスクトップ クライアント アプリです。
これらのリモート機能を 9 つのサービスに統合していますが、ユーザーが他の後続の WCF 呼び出しの前に最初に "ログイン" 機能を実行したことを確認する適切な方法が必要です。
ログインはこれらのサービスの 1 つでのみ行われるため、これをサービス間で「フェデレート」する方法があるかどうかはわかりません。(すべて同じマシン、同じドメインでホストされています。) 長期的には外部クライアントの wshttp バインディングも可能にすることを目標に、net.tcp 経由でサービスを公開しています。(別のバインディングで何か特別なものが得られるかどうかはわかりません)
私が思いついたのは、認証情報を保持するシングルトンをホストすることです。ユーザーのログインが確認され、「セキュリティ ストア」に送信されると、Guid がクライアントに返され、後続の WCF 呼び出しで送信されます。
そして、各 WCF 呼び出しは、シングルトンの "セキュリティ ストア" に対して検証されます。
問題は... WCF にネイティブなものを使用して、これと同じ目標を達成できるかどうかです。