gpt4 book ai didi

wcf - 没有 Windows 凭据的 netTcpBinding?

转载 作者:行者123 更新时间:2023-12-04 03:47:08 25 4
gpt4 key购买 nike

我有一个机器控制应用程序,其中我有一台客户端计算机和五个在机器子网上通信的服务器盒。没有域 Controller 。我想使用 netTcpBinding允许可靠性和事务支持。

当域 Controller 不存在时,是否可以通过此绑定(bind)使用用户名/密码身份验证?我不想使用证书,因为我不想管理 900 台不会连接到办公室 LAN 的计算机(150 台机器)的证书。

最佳答案

是的,当然 - 但前提是您使用消息安全(而不是传输安全)。像这样定义您的绑定(bind)配置:

  <netTcpBinding>
<binding name="UserNameSecurity">
<security mode="Message">
<message clientCredentialType="UserName"/>
</security>
</binding>
</netTcpBinding>

然后在您的端点(在服务器和客户端)中引用该绑定(bind)配置:
 <endpoint address="....."
binding="netTcpBinding"
bindingConfiguration="UserNameSecurity"
contract="IMyService" />

马克

更新:
啊,是的,在服务器端,您需要一个证书来向调用它的客户端验证服务,它还用于对消息进行加密+签名。这仅在服务器上 - 客户端不需要安装任何东西。

配置:
<behaviors>
<serviceBehavior>
<behavior name="ServerInternet">
<serviceCredentials>
<serviceCertificate
findValue="MyServiceCertificate"
storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName" />
</serviceCredentials>
</behavior>
</serviceBehavior>
</behaviors>
<services>
<service name="MyServiceInternet"
behaviorConfiguration="ServerInternet">
....
</service>
</services>

确保将服务器的证书安装到服务器上的“本地计算机”文件夹中,位于您在配置中指定的“主题名称”下。

关于wcf - 没有 Windows 凭据的 netTcpBinding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1222963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com