語言

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

備註

憑證政策決定在傳送網路 WebRequest 資源(例如網頁內容)時是否傳送憑證。 若已傳送憑證,需要用戶端認證的伺服器可在請求收到時嘗試驗證用戶端,而非發送回應表示用戶端憑證是必需的。 雖然這節省了往返伺服器的行程,但必須在效能提升與傳送憑證時所帶來的安全風險取得平衡。 當目的伺服器不需要用戶端驗證時,最好不要傳送憑證。

Note

ICredentialPolicy 只有當 WebRequest 與請求相關的 或 的 WebProxy 憑證不 null屬於 時,才會呼叫策略。 設定此政策對未指定憑證的請求沒有影響。

利用該 AuthenticationManager.CredentialPolicy 物業來設定 ICredentialPolicy 保單。 負責請求認證的 會在 IAuthenticationModule 執行驗證前先呼叫該 ShouldSendCredential 方法。 若方法回傳 false,則不進行認證。

該 ICredentialPolicy 政策會影響 WebRequest 目前應用域中所有非空憑證的實例。 此政策無法因個別申請而被推翻。

方法

名稱 Description
ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule)

回傳 a Boolean ,顯示用戶端憑證是否與使用該類別實例 WebRequest 提出的資源請求一同傳送。

適用於