Language

ICredentialPolicy インターフェイス

定義

WebRequestとその派生クラスを使用して行われるリソース要求に使用する資格情報ポリシーを定義します。

public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
派生

例

次のコード例は、特定のホストを対象とする要求に対してのみ資格情報を送信できるようにする、このインターフェイスの実装を示しています。

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)
            return true;

        return false;
    }
}

注釈

資格情報ポリシーは、Web ページのコンテンツなど、ネットワーク リソースの WebRequest を送信するときに資格情報を送信するかどうかを決定します。 資格情報が送信された場合、クライアント認証を必要とするサーバーは、クライアントの資格情報が必要であることを示す応答を送信する代わりに、要求の受信時にクライアントの認証を試みることができます。 これによりサーバーへのラウンド トリップが節約されますが、このパフォーマンス向上は、ネットワーク経由での資格情報の送信に固有のセキュリティ リスクとバランスを取る必要があります。 移行先サーバーがクライアント認証を必要としない場合は、資格情報を送信しないことをお勧めします。

Note

ICredentialPolicy ポリシーは、要求に関連付けられている WebRequest または WebProxy に nullされていない資格情報がある場合にのみ呼び出されます。 このポリシーを設定しても、資格情報を指定しない要求には影響しません。

AuthenticationManager.CredentialPolicy ポリシーを設定するには、ICredentialPolicy プロパティを使用します。 要求の認証を処理する IAuthenticationModule は、認証を実行する前に ShouldSendCredential メソッドを呼び出します。 メソッドが falseを返した場合、認証は実行されません。

ICredentialPolicy ポリシーは、現在のアプリケーション ドメイン内の null 以外の資格情報を持つWebRequestのすべてのインスタンスに影響します。 個々の要求でポリシーをオーバーライドすることはできません。

メソッド

名前 説明
ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule)

Boolean クラスのインスタンスを使用して行われたリソース要求でクライアントの資格情報が送信されるかどうかを示すWebRequestを返します。

適用対象