2010-11-26 12 views
0

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

どのようにして、対応するユーザー名のパスワードを知らなくてもこの2番目の呼び出しを偽装できますか?

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

+0

この回答を確認してください:http://stackoverflow.com/questions/2921978/asp-net-website-wcf-service-wcf-service-with-impersonation-all-theway/2922002#2922002 –

答えて

0

Kerberosを使用して、最初のWCFサービスから他のサービスへの認証の引き継ぎを処理する必要があります。

+0

問題私は共有ホスティングにおり、私はWindows認証を使用していませんが、カスタムUsername/Password認証メソッドを使用して、UserNameValidator実装を使用して各呼び出しでその資格情報を検証します。 – Lester

関連する問題