我有一个配置了 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>
但我可以避免吗?我希望客户端使用其当前用户。