已從 SPN 移除 Kerberos 和 Negotiate 的連接埠

搭配 KerberosNegotiate 驗證使用 HttpClient 時,非預設連接埠不再包含在服務主體名稱 (SPN) 中來查閱服務。 這個新的 .NET 6 行為與 .NET Core 3.1 和更早版本一致。

先前的行為

如果您連線到非預設連接埠上的服務,.NET 5 會在建構 SPN 以查閱服務時包含 port 元件。

新的行為

從 .NET 6 開始,SPN 預設不會使用 port 元件建構,即使是非預設連接埠也是如此。

導入的版本

6.0 RC 1

中斷性變更的類型

這項變更會影響二進位相容性

變更原因

我們想要從客戶開始使用的 .NET Core 1.0 - 3.1 恢復行為。

如果您需要保留 .NET 5 行為,您可以將應用程式內容參數 System.Net.Http.UsePortInSpn 或環境變數 DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN 設定為 true

受影響的 API