Sco*_*t P 9 wcf credentials nettcpbinding
我有一个机器控制应用程序,我有一台客户端计算机和五个服务器盒在机器子网上进行通信.没有域控制器.我想使用netTcpBinding来提供可靠性和事务支持.
当域控制器不存在时,是否可以使用此绑定进行用户名/密码验证?我不想使用证书,因为我不想管理900台计算机(150台机器)上的证书,这些计算机不会连接到办公室局域网.
mar*_*c_s 11
是的,当然 - 但前提是您使用Message安全性(而不是传输安全性).像这样定义绑定配置:
<netTcpBinding>
<binding name="UserNameSecurity">
<security mode="Message">
<message clientCredentialType="UserName"/>
</security>
</binding>
</netTcpBinding>
Run Code Online (Sandbox Code Playgroud)
然后在端点中引用该绑定配置(在服务器和客户端上):
<endpoint address="....."
binding="netTcpBinding"
bindingConfiguration="UserNameSecurity"
contract="IMyService" />
Run Code Online (Sandbox Code Playgroud)
渣
更新:
啊,是的,在服务器端,你需要一个证书来验证服务给客户端调用它,它还用于加密+签署消息.这只是在服务器上 - 客户端不需要安装任何东西.
组态:
<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>
Run Code Online (Sandbox Code Playgroud)
确保将服务器的证书安装到服务器上的"本地计算机"文件夹中,在配置中指定的"主题名称"下.
| 归档时间: |
|
| 查看次数: |
7591 次 |
| 最近记录: |