net.tcp バインディングで構成された WCF サービスがあります。
<netTcpBinding>
<binding >
<security mode="Transport">
<transport clientCredentialType="Windows" />
<message clientCredentialType="None" />
</security>
</binding>
</netTcpBinding>
私はクライアント - Web アプリケーションを持っています。どちらも同じサーバーの NT AUTHORITY\NETWORK SERVICE で実行されていますが、ポートが異なるだけです。
クライアントがサービスに接続しようとすると、次のエラーが発生します。
System.ComponentModel.Win32Exception: ログオンに失敗しました
これは、クライアント側で servicePrincipalName を指定して修正できます。
<endpoint>
<identity>
<servicePrincipalName value="NT AUTHORITY\NETWORK SERVICE" />
</identity>
</endpoint>
しかし、私はそれを避けることができますか?クライアントに現在のユーザーを使用してもらいたい。