Поделиться через


Порт удален из имени субъекта-службы для Kerberos и Negotiate

При использовании HttpClient с проверкой подлинности Kerberos или Negotiate порты, отличные от портов по умолчанию, больше не включаются в имена субъектов-служб для поиска служб. Это новое поведение .NET 6 совместимо с .NET Core 3.1 и более ранними версиями.

Прежнее поведение

Если вы подключились к службе через порт, отличный от портов по умолчанию, в .NET 5 включен компонент port при создании имени субъекта-службы для поиска службы.

Новое поведение

Начиная с .NET 6, имя субъекта-службы по умолчанию не создается с компонентом port даже для портов, отличных от портов по умолчанию.

Представленные версии

6.0 RC 1

Тип критического изменения

Это изменение может повлиять на совместимость двоичного кода.

Причина изменения

Мы хотим вернуть поведение из .NET Core 1.0–3.1, от которого теперь зависят клиенты.

Если необходимо сохранить поведение .NET 5, можно задать для переключателя контекста приложения System.Net.Http.UsePortInSpn или переменной среды DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN значение true.

Затронутые API