ICredentialPolicy インターフェイス
アセンブリ: System (system.dll 内)
![構文](http://weblio.hs.llnwd.net/e7/img/dict/msdnc/minus.gif)
![解説](http://weblio.hs.llnwd.net/e7/img/dict/msdnc/minus.gif)
資格情報ポリシーは、Web ページのコンテンツなどのネットワーク リソースへの WebRequest を送信するときに資格情報を送信するかどうかを決定します。資格情報が送信される場合、クライアント認証を必要とするサーバーは、リクエストを受信すると、クライアントの資格情報が必要であることを示す応答を送信する代わりに、クライアントの認証を試行できます。これによりサーバーへのラウンド トリップを削減できますが、このパフォーマンスの向上と、資格情報をネットワーク上に送信することによるセキュリティ リスクとのバランスを考慮する必要があります。送信先のサーバーがクライアント認証を必要としない場合は、資格情報を送信しないことをお勧めします。
![]() |
---|
ICredentialPolicy ポリシーは、要求に関連付けられている WebRequest または WebProxy の資格情報が null 参照 (Visual Basic では Nothing) でない場合にのみ呼び出されます。このポリシーを設定しても、資格情報を指定しない要求には影響しません。 |
ICredentialPolicy ポリシーを設定するには、AuthenticationManager.CredentialPolicy プロパティを使用します。要求の認証を処理する IAuthenticationModule は、認証を実行する前に ShouldSendCredential メソッドを呼び出します。このメソッドから false が返された場合、認証は実行されません。
ICredentialPolicy ポリシーは、現在のアプリケーション ドメイン内の null でない資格情報を持つ、WebRequest のすべてのインスタンスに影響します。個別の要求でポリシーをオーバーライドすることはできません。
![使用例](http://weblio.hs.llnwd.net/e7/img/dict/msdnc/minus.gif)
このインターフェイスの、特定のホストへの要求にだけ資格情報の送信を許可する実装のコード例を次に示します。
public class SelectedHostsCredentialPolicy: ICredentialPolicy { public SelectedHostsCredentialPolicy() { } public virtual bool ShouldSendCredential(Uri challengeUri, WebRequest request, NetworkCredential credential, IAuthenticationModule authModule) { Console.WriteLine("Checking custom credential policy."); if (request.RequestUri.Host == "www.contoso.com" || challengeUri.IsLoopback == true) return true; return false; } }
public ref class SelectedHostsCredentialPolicy: public ICredentialPolicy { public: SelectedHostsCredentialPolicy(){} virtual bool ShouldSendCredential( Uri^ challengeUri, WebRequest^ request, NetworkCredential^ /*credential*/, IAuthenticationModule^ /*authModule*/ ) { Console::WriteLine( L"Checking custom credential policy." ); if ( request->RequestUri->Host->Equals( L"www.contoso.com" ) || challengeUri->IsLoopback == true ) return true; return false; } };
![プラットフォーム](http://weblio.hs.llnwd.net/e7/img/dict/msdnc/minus.gif)
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
![バージョン情報](http://weblio.hs.llnwd.net/e7/img/dict/msdnc/minus.gif)
![参照](http://weblio.hs.llnwd.net/e7/img/dict/msdnc/minus.gif)
- ICredentialPolicy インターフェイスのページへのリンク