Port aus SPN für Kerberos und Negotiate entfernt
Bei Verwendung von HttpClient mit der Kerberos- oder Negotiate-Authentifizierung sind nicht standardmäßige Ports nicht mehr in Dienstprinzipalnamen (Service Principal Names, SPNs) für die Suche nach Diensten enthalten. Dieses neue .NET 6-Verhalten entspricht .NET Core 3.1 und früheren Versionen.
Vorheriges Verhalten
Wenn Sie eine Verbindung mit einem Dienst über einen nicht standardmäßigen Port hergestellt haben, enthielt .NET 5 beim Erstellen des SPN für die Suche nach dem Dienst eine port
-Komponente.
Neues Verhalten
Ab .NET 6 wird der SPN standardmäßig nicht mit einer port
-Komponente erstellt, auch nicht für Standardports.
Eingeführt in Version
6.0 RC 1
Typ des Breaking Changes
Diese Änderung kann sich auf die binäre Kompatibilität auswirken.
Grund für die Änderung
Wir möchten das Verhalten von .NET Core 1.0 bis 3.1 wiederherstellen, an das die Kunden sich gewöhnt haben.
Empfohlene Maßnahme
Wenn Sie das Verhalten von .NET 5 beibehalten müssen, können Sie den App-Kontextschalter System.Net.Http.UsePortInSpn
oder die Umgebungsvariable DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN
auf true
festlegen.
Betroffene APIs
- Verhalten von System.Net.Http.HttpClient