HttpWebRequest.UnsafeAuthenticatedConnectionSharing Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, указывающее, разрешен ли общий доступ к высокоскоростным подключениям, прошедшим проверку подлинности NTLM.
public:
property bool UnsafeAuthenticatedConnectionSharing { bool get(); void set(bool value); };
public bool UnsafeAuthenticatedConnectionSharing { get; set; }
member this.UnsafeAuthenticatedConnectionSharing : bool with get, set
Public Property UnsafeAuthenticatedConnectionSharing As Boolean
Значение свойства
true для сохранения открытого подключения с проверкой подлинности; falseв противном случае .
Комментарии
Осторожность
WebRequest, HttpWebRequest, ServicePointи устарели, и WebClient вы не должны использовать их для новой разработки. Вместо этого используйте HttpClient.
Значение по умолчанию для этого свойства, falseкоторое приводит к закрытию текущего подключения после завершения запроса. Приложение должно проходить по последовательности проверки подлинности каждый раз, когда он выдает новый запрос.
Если для этого свойства задано trueзначение, подключение, используемое для извлечения ответа, остается открытым после выполнения проверки подлинности. В этом случае другие запросы, имеющие это свойство true , могут использовать подключение без повторной проверки подлинности. Другими словами, если подключение прошло проверку подлинности для пользователя A, пользователь B может повторно использовать подключение A; Запрос пользователя B выполняется на основе учетных данных пользователя A.
Осторожность
Так как приложение может использовать подключение без проверки подлинности, необходимо убедиться, что в системе нет административной уязвимости при настройке этого свойства true. Если приложение отправляет запросы для нескольких пользователей (олицетворяет несколько учетных записей пользователей) и использует проверку подлинности для защиты ресурсов, не устанавливайте это свойство, true если вы не используете группы подключений, как описано ниже.
Возможно, вы хотите включить этот механизм, если у вас возникли проблемы с производительностью и приложение работает на веб-сервере с интегрированными проверка подлинности Windows.
Включение этого параметра открывает систему для рисков безопасности. Если вы задали UnsafeAuthenticatedConnectionSharing свойство, true обязательно выполните следующие меры предосторожности:
ConnectionGroupName Используйте свойство для управления подключениями для разных пользователей. Это позволяет избежать потенциального использования подключения не прошедшими проверку подлинности приложениями. Например, пользователь A должен иметь уникальное имя группы подключений, отличное от пользователя B. Это обеспечивает уровень изоляции для каждой учетной записи пользователя.
Запустите приложение в защищенной среде, чтобы избежать возможных эксплойтов подключения.
Если вы управляете сервером, в качестве альтернативы можно отключить сохраняемость проверки подлинности. Это повышает производительность до меньшей степени, но это безопаснее.
Заметка
PreAuthenticate Если оба и UnsafeAuthenticatedConnectionSharing задано trueзначение, каждый запрос отправляется с помощью подключения из небезопасного пула, но с заголовком авторизации.