Поделиться через


HttpWebRequest.PreAuthenticate Свойство

Определение

Возвращает или задает значение, указывающее, следует ли отправлять заголовок авторизации с запросом.

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.

Комментарии

Осторожность

WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.

После успешной проверки подлинности запроса клиента к определенной Uri, если PreAuthenticatetrue и учетные данные, заголовок авторизации отправляется с каждым запросом на любой Uri, который соответствует определенной Uri до последней косой черты. Таким образом, если запрос клиента успешно прошел проверку подлинности в определенном Uri, который содержит следующее:

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

Затем заголовок авторизации для предварительной проверки подлинности отправляется с каждым запросом на любой из следующих 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 до последней косой черты, не ожидая вызова сервером.

В следующем диалоговом окне между клиентом и сервером показан эффект этого свойства. В диалоговом окне предполагается, что используется базовая проверка подлинности.

PreAuthenticate false:

Клиент: GET someUrl

Сервер: 401 WWW-Authenticate Базовый

Клиент: GET с заголовками авторизации

Сервер: 200 OK

Клиент: GET someUrl

Сервер: 401 WWW-Authenticate Базовый

Клиент: GET с заголовками авторизации

Сервер: 200 OK

PreAuthenticate true:

Клиент: GET someUrl

Сервер: 401 WWW-Authenticate Базовый

Клиент: GET с заголовками авторизации

Сервер: 200 OK

Клиент: GET someUrl с заголовками авторизации

Если схема проверки подлинности не поддерживает предварительную проверку подлинности, значение этого свойства игнорируется.

Применяется к