リクエストごとにユーザー名/パスワードを提供する必要があることを保証するWCFサービスを使用しています。多くのクライアントから同じサービスを使用する必要がありますが、各クライアントの適切なリソースにアクセスするには、呼び出しを偽装する必要があります。クライアントから直接サービスを呼び出す場合、クライアントごとに web.config で定義された UserName/Password のペアを使用するため、問題はありません。問題が発生したのは、同じ ID を使用して最初の Web サービスへの呼び出しから 2 番目の Web サービスを呼び出す必要があるときです。この 2 番目の Web サービスには UserName/Password が必要ですが、呼び出し元 (UserName) が誰であるかしかわかりませんが、パスワードはわかりません。
対応するユーザー名のパスワードを知らずに、この 2 番目の呼び出しを偽装するにはどうすればよいですか?
編集: アプリ (Web アプリとサービス) は共有ホスティング環境で実行されており、Windows 認証を使用して委任用の Kerberos を構成することはできません。カスタム SQLServer データベースに対して UserName/Password のペアを呼び出すたびに処理する UserNameValidator を定義しました。さらに、このアプリの対象顧客は、Windows アカウントを必要とせずにインターネットからアプリを使用します。これは、より柔軟な SQL ベースの認証スキーマが必要だからです。