Port supprimé du SPN pour Kerberos et Negotiate

Lors de l’utilisation de HttpClient avec l’authentification Kerberos ou Negotiate, les ports autres que les ports par défaut ne sont plus inclus dans les noms de principal de service (SPN) pour rechercher des services. Ce nouveau comportement pour .NET 6 est cohérent avec .NET Core 3.1 et les versions antérieures.

Comportement précédent

Si vous vous êtes connecté à un service sur un port autre que celui par défaut, .NET 5 incluait un composant port lors de la construction du SPN pour rechercher le service.

Nouveau comportement

À compter de .NET 6, par défaut, le SPN n’est pas construit avec un composant port, même pour les ports non par défaut.

Version introduite

6.0 RC 1

Type de changement cassant

Ce changement peut affecter la compatibilité binaire.

Raison du changement

Nous voulons rétablir le comportement de .NET Core 1.0 - 3,1, dont les clients avaient commencé à dépendre.

Si vous devez conserver le comportement de .NET 5, vous pouvez définir le commutateur de contexte de l’application System.Net.Http.UsePortInSpn ou la variable d’environnement DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN sur true.

API affectées