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 учетной записи, если truePreAuthenticate заданы учетные данные, заголовок авторизации отправляется каждому запросу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 is false:
Клиент: GET someUrl
Сервер: 401 WWW-Authenticate Базовый
Клиент: GET с заголовками авторизации
Сервер: 200 OK
Клиент: GET someUrl
Сервер: 401 WWW-Authenticate Базовый
Клиент: GET с заголовками авторизации
Сервер: 200 OK
PreAuthenticate is true:
Клиент: GET someUrl
Сервер: 401 WWW-Authenticate Базовый
Клиент: GET с заголовками авторизации
Сервер: 200 OK
Клиент: GET someUrl с заголовками авторизации
Если схема проверки подлинности не поддерживает предварительную проверку подлинности, значение этого свойства игнорируется.