Port usunięty z nazwy SPN dla protokołu Kerberos i negocjowania
W przypadku korzystania HttpClient z uwierzytelniania Kerberos lub Negotiate porty inne niż domyślne nie są już uwzględniane w nazwach głównych usługi (SPN), aby wyszukać usługi. To nowe zachowanie platformy .NET 6 jest zgodne z platformą .NET Core 3.1 i starszymi wersjami.
Poprzednie zachowanie
Jeśli nawiązaliśmy połączenie z usługą na porcie innym niż domyślny, platforma .NET 5 zawierała port
składnik podczas konstruowania nazwy SPN w celu wyszukania usługi.
Nowe zachowanie
Począwszy od platformy .NET 6, domyślnie nazwa SPN nie jest konstruowana ze składnikiem port
, nawet w przypadku portów innych niż domyślne.
Wprowadzona wersja
6.0 RC 1
Typ zmiany powodującej niezgodność
Ta zmiana może mieć wpływ na zgodność binarną.
Przyczyna wprowadzenia zmiany
Chcemy przywrócić zachowanie platformy .NET Core 1.0 — 3.1, od której zaczęli zależeć klienci.
Zalecana akcja
Jeśli chcesz zachować zachowanie platformy .NET 5, możesz ustawić przełącznik System.Net.Http.UsePortInSpn
kontekstu aplikacji lub zmienną środowiskową DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN
na true
.
Dotyczy interfejsów API
- System.Net.Http.HttpClient Zachowanie