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