Se ha quitado el puerto del SPN para Kerberos y Negotiate

Cuando se usa HttpClient con la autenticación Kerberos o Negotiate, los puertos no predeterminados ya no se incluyen en los nombres de entidad de seguridad de servicio (SPN) para buscar servicios. Este nuevo comportamiento de .NET 6 es coherente con .NET Core 3.1 y versiones anteriores.

Comportamiento anterior

Si se conectaba a un servicio en un puerto no predeterminado, .NET 5 incluía un componente port al construir el SPN para buscar el servicio.

Comportamiento nuevo

A partir de .NET 6, de forma predeterminada, el SPN no se construye con un componente port, incluso para los puertos no predeterminados.

Versión introducida

6.0 RC 1

Tipo de cambio importante

Este cambio puede afectar a la compatibilidad binaria.

Motivo del cambio

Queremos recuperar el comportamiento de .NET Core 1.0 - 3.1 del que los clientes habían empezado a depender.

Si necesita conservar el comportamiento de .NET 5, puede establecer el modificador de contexto de la aplicación System.Net.Http.UsePortInSpn o la variable de entorno DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN en true.

API afectadas