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.

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