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

プロパティ値

認証が行われた後に要求を含む HTTP 承認ヘッダーを送信する true。それ以外の場合は、falseします。 既定値は falseです。

注釈

注意

WebRequestHttpWebRequestServicePointWebClient は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。

特定の Uri に対するクライアント要求が正常に認証された後、PreAuthenticatetrue され、資格情報が指定された場合、Authorization ヘッダーは、最後のスラッシュまでの特定の 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

ただし、Authorization ヘッダーは、次のいずれかの 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

認証スキームが事前認証をサポートしていない場合、このプロパティの値は無視されます。

適用対象