共用方式為


HttpWebRequest.PreAuthenticate 屬性

定義

取得或設定值,這個值表示是否要使用要求傳送 Authorization 標頭。

public:
 virtual property bool PreAuthenticate { bool get(); void set(bool value); };
public override bool PreAuthenticate { get; set; }
member this.PreAuthenticate : bool with get, set
Public Overrides Property PreAuthenticate As Boolean

屬性值

true 在驗證發生之後傳送具有要求的 HTTP 授權標頭;否則,false。 預設值為 false

備註

謹慎

WebRequestHttpWebRequestServicePointWebClient 已經過時,您不應該將它們用於新的開發。 請改用 HttpClient

成功驗證特定 Uri 的用戶端要求之後,如果 PreAuthenticatetrue 並提供認證,則會將授權標頭與每個要求傳送至符合特定 Uri 到最後一個正斜線的任何 Uri。 因此,如果用戶端要求已成功向包含下列專案的特定 Uri 進行驗證:

http://www.contoso.com/firstpath/

然後,預先驗證的 Authorization 標頭會隨著每個要求傳送至下列任何一個 Uri 實例:

http://www.contoso.com/firstpath/

http://www.contoso.com/firstpath/default

http://www.contoso.com/firstpath/default.html

http://www.contoso.com/firstpath/sample.html

不過,授權標頭不會傳送要求給下列任何 Uri 實例:

http://www.contoso.com/

http://www.contoso.com/firstpath

http://www.contoso.com/secondpath/

http://www.contoso.com/firstpath/thirdpath/

如果用戶端對特定 Uri 的要求未成功驗證,要求會使用標準驗證程式。

除了第一個要求之外,PreAuthenticate 屬性會指出是否要將驗證資訊與後續要求一起傳送至符合特定 Uri 至最後一個正斜線的 Uri,而不需要等待伺服器挑戰。

用戶端與伺服器之間的下列對話框說明此屬性的效果。 對話框假設基本身份驗證正在使用中。

PreAuthenticatefalse

用戶端:GET someUrl

伺服器:401 WWW-Authenticate Basic

用戶端:具有授權標頭的 GET

伺服器:200 OK

用戶端:GET someUrl

伺服器:401 WWW-Authenticate Basic

用戶端:具有授權標頭的 GET

伺服器:200 OK

PreAuthenticatetrue

用戶端:GET someUrl

伺服器:401 WWW-Authenticate Basic

用戶端:具有授權標頭的 GET

伺服器:200 OK

用戶端:GET someUrl 搭配授權標頭

如果驗證配置不支援預先驗證,則會忽略此屬性的值。

適用於