ICredentialPolicy インターフェイス

定義

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

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

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

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;
   }
};
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;
    }
}

注釈

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

注意

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

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

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

メソッド

ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule)

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

適用対象