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