Windows認証でBasicHttpBindingを使用するWCFサービスがあります。 ほとんどのクライアントはドメインアカウントで、既定の資格情報を使用してサービスに接続します。WCFクライアント構成ファイルでWindows資格情報を指定する方法
ローカルアカウントで実行されているASP.NETクライアントからサービスに接続します。私は、ASP.NETアプリケーションで使用できるWindows資格情報(domain \ userとpassword)を使用してWCFサービスに接続したいと考えています。
私はClientBase < T> .ClientCredentialsを使用してコードでこれを行うことができます。
クライアントのweb.configファイルに資格情報(domain \ userとpassword)を指定する方法があるので、コードを変更する必要はありませんか?
EDIT
それは、設定ファイルで行うことができない場合は、WCFサービスの資格としてSystem.Net.ICredentialsまたはSystem.Net.NetworkCredentialを使用する方法はありますか?
.NET Frameworkではこれらをネットワーク資格情報を提供する均質な方法として提供していますが、これはWCFでは無関係のSystem.ServiceModel.Description.ClientCredentialsクラスに基づいた新しい互換性のないシステムに捨てられたようです。元の質問へのMarcの答えを受け入れる
EDIT 2
- クライアント構成ファイルでこれを行う方法はありませんようです:(
私はWCFの欠乏としてこれを見るでしょう - 私は、マイクロソフトが意図的に構成ファイルに資格情報を入れるのをやめさせるべきだということを受け入れるつもりはない - すべてのファイルはどこかに格納しなければならず、フレームワークには構成ファイルを暗号化するための機能が含まれている。それは箱からすぐに利用できるはずです。
これはやや矛盾しています。system.net/mailSettings/smtp/network設定要素では、資格情報を指定できるので、WCFはなぜですか? System.Net.NetworkCredentialの使用に関する2つ目の質問について
、次のコードを使用して、Windows認証を使用して、少なくともとき、それが可能であることをthis blogからのようだ:
factory.Credentials.Windows.ClientCredential =
new System.Net.NetworkCredential(name, password, domain);
@marc_s設定ファイル経由で設定できないのですか? –
@ Johnny_D:いいえ、私の知る限りではありません。 –