我是创建WCF Web服务的新手。我想创建一个必须在https上运行的WCF Web服务,以实现更安全的数据传输。我有一个带GoDaddy.com的虚拟服务器并安装了GoDaddy SSL证书。我不希望Web服务的用户必须在他们的机器上安装任何证书来调用该服务。我只是希望它是一个安全的传输。我在这里走在正确的轨道上吗?
我也不希望服务运行时发生任何身份验证。在他们发送给服务的XML中,将包括帐户信息,服务将确定他们是否有权更新服务中的数据。如何关闭所有授权并允许用户通过https运行服务并且不需要任何证书?
答案 0 :(得分:1)
仅当客户信任颁发证书的机构时,才需要用户端的证书。首先,它完全不受你的控制。通常客户信任一些众所周知的证书颁发机构,如VeriSign等。因此,如果您的GoDaddy证书在其证书链中具有可信任权限客户端将不必安装证书,但如果它只是由一些GoDaddy的证书颁发机构颁发,则客户端不必信任它
WCF服务中的身份验证和授权“按需”使用,因此您不必使用它。只需使用BasicHttpBinding
(SOAP)或WebHttpBinding
(REST)并将其安全模式设置为Transport
,将ClientCredentialType
设置为None
,如:
<bindings>
<basicHttpBinding>
<binding name="secured">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
将此绑定配置用于服务的端点。