Kerberos と Negotiate の SPN からポートが削除されました
HttpClient を Kerberos または Negotiate の認証に使用する場合、サービスを検索するためのサービス プリンシパル名 (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
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET