0

リクエストごとにユーザー名/パスワードを提供する必要があることを保証するWCFサービスを使用しています。多くのクライアントから同じサービスを使用する必要がありますが、各クライアントの適切なリソースにアクセスするには、呼び出しを偽装する必要があります。クライアントから直接サービスを呼び出す場合、クライアントごとに web.config で定義された UserName/Password のペアを使用するため、問題はありません。問題が発生したのは、同じ ID を使用して最初の Web サービスへの呼び出しから 2 番目の Web サービスを呼び出す必要があるときです。この 2 番目の Web サービスには UserName/Password が必要ですが、呼び出し元 (UserName) が誰であるかしかわかりませんが、パスワードはわかりません。

対応するユーザー名のパスワードを知らずに、この 2 番目の呼び出しを偽装するにはどうすればよいですか?

編集: アプリ (Web アプリとサービス) は共有ホスティング環境で実行されており、Windows 認証を使用して委任用の Kerberos を構成することはできません。カスタム SQLServer データベースに対して UserName/Password のペアを呼び出すたびに処理する UserNameValidator を定義しました。さらに、このアプリの対象顧客は、Windows アカウントを必要とせずにインターネットからアプリを使用します。これは、より柔軟な SQL ベースの認証スキーマが必要だからです。

4

2 に答える 2

0

Kerberosを使用して、最初の WCF サービスから他のサービスへの認証の受け渡しを処理する方法を検討する必要があります。

于 2010-11-26T07:37:16.470 に答える
0

宣言型セキュリティ オプションを確認しましたか? Juval Lowy によるリンクされた記事には、インターネット アプリケーションのシナリオも含まれています。

于 2010-11-26T14:56:57.060 に答える