一种选择是使用客户端证书。
如果您无法更改当前的实现,则此解决方案可能是一个选项(如果您要使用“表单身份验证”路线,则需要这样做)。请记住,处理证书需要 IT 操作在服务器和客户端上生成和安装证书。如果这在您的情况下可行,您的问题尚不清楚。
首先创建证书(如果您不购买而是自己生成证书,请确保 IT 人员已准备好将您的根证书添加到受信任的商店中,您的服务用户也是如此!)
添加此端点行为客户端
<behaviors>
<endpointBehaviors>
<behavior name="ClientCertificateBehavior">
<clientCredentials>
<clientCertificate findValue="client.com"
storeLocation="CurrentUser"
storeName="My"
x509FindType="FindBySubjectName" />
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
添加/修改此服务器端:
<wsHttpBinding>
<binding name="wsHttpEndpointBinding">
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
</binding>
</wsHttpBinding>
<endpoint binding="wsHttpBinding" bindingConfiguration="wsHttpEndpointBinding"
name="wsHttpEndpoint" contract="IService" />
将您的网络服务器配置为使用 SSL 并需要客户端证书。
此答案是本指南的缩短版本