Condividi tramite


HttpWebRequest.PreAuthenticate Proprietà

Definizione

Ottiene o imposta un valore che indica se inviare un'intestazione di autorizzazione con la richiesta.

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

Valore della proprietà

true inviare un'intestazione di autorizzazione HTTP con richieste dopo l'autenticazione; in caso contrario, false. Il valore predefinito è false.

Commenti

Cautela

WebRequest, HttpWebRequest, ServicePointe WebClient sono obsoleti e non è consigliabile usarli per nuovi sviluppi. Usare invece HttpClient.

Dopo l'autenticazione di una richiesta client a un Uri specifico, se PreAuthenticate viene true e le credenziali vengono fornite, l'intestazione Autorizzazione viene inviata con ogni richiesta a qualsiasi Uri che corrisponde al Uri specifico fino all'ultima barra. Pertanto, se la richiesta client è stata autenticata correttamente in un Uri specifico che contiene quanto segue:

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

L'intestazione di autorizzazione per la preautenticazione viene quindi inviata con ogni richiesta a una delle istanze di Uri seguenti:

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

Tuttavia, l'intestazione Authorization non viene inviata con richieste a una delle istanze di Uri seguenti:

http://www.contoso.com/

http://www.contoso.com/firstpath

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

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

Se la richiesta client a un Uri specifico non viene autenticata correttamente, la richiesta usa procedure di autenticazione standard.

Ad eccezione della prima richiesta, la proprietà PreAuthenticate indica se inviare informazioni di autenticazione con richieste successive a un Uri che corrisponde alla specifica Uri fino all'ultima barra senza attendere che il server venga contestato.

La finestra di dialogo seguente tra client e server illustra l'effetto di questa proprietà. La finestra di dialogo presuppone che l'autenticazione di base sia in uso.

PreAuthenticate è false:

Client: GET someUrl

Server: 401 WWW-Authenticate Basic

Client: GET con intestazioni di autorizzazione

Server: 200 OK

Client: GET someUrl

Server: 401 WWW-Authenticate Basic

Client: GET con intestazioni di autorizzazione

Server: 200 OK

PreAuthenticate è true:

Client: GET someUrl

Server: 401 WWW-Authenticate Basic

Client: GET con intestazioni di autorizzazione

Server: 200 OK

Client: GET someUrl con intestazioni di autorizzazione

Se lo schema di autenticazione non supporta la preautenticazione, il valore di questa proprietà viene ignorato.

Si applica a