HttpWebRequest.UnsafeAuthenticatedConnectionSharing Свойство

Определение

Возвращает или задает значение, указывающее, разрешен ли общий доступ к высокоскоростным подключениям, прошедшим проверку подлинности NTLM.

public bool UnsafeAuthenticatedConnectionSharing { get; set; }

Значение свойства

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

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

Өнім Нұсқалар
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1