Port aus SPN für Kerberos und Negotiate entfernt

Bei der Verwendung von HttpClient mit Kerberos oder Negotiate-Authentifizierung sind nicht-standardmäßige Ports nicht mehr in den Dienstprinzipalnamen (SPN) zur Dienstsuche enthalten. Dieses neue .NET 6-Verhalten ist mit .NET Core 3.1 und früheren Versionen konsistent.

Vorheriges Verhalten

Wenn Sie eine Verbindung mit einem Dienst auf einem nicht standardmäßigen Port hergestellt haben, enthielt .NET 5 beim Erstellen des SPN eine port Komponente, um den Dienst nachzuschlagen.

Neues Verhalten

Ab .NET 6 wird der SPN standardmäßig nicht mit einer port Komponente erstellt, auch für nicht standardmäßige Ports.

Eingeführte Version

6.0 RC 1

Art der einschneidenden Änderung

Diese Änderung kann sich auf die binäre Kompatibilität auswirken.

Grund für Änderung

Wir möchten das Verhalten von .NET Core 1.0 - 3.1, von dem Kunden abhängig waren, zurückbringen.

Wenn Sie .NET 5-Verhalten beibehalten müssen, können Sie den App-Kontextschalter System.Net.Http.UsePortInSpn oder die Umgebungsvariable DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN auf truefestlegen.

Betroffene APIs