有些公司有兴趣将我们的软件与他们的软件集成。我们开始考虑为他们提供网络服务,以便通过互联网进行消费。我们将使用WCF构建Web服务。我们不能保证每个集成商都会使用WCF或.NET,因此互操作性非常重要。
我们希望在使用用户名和密码调用我们的服务操作时对每个第三方集成商进行身份验证。或者,我已经读过可以使用证书实现客户端身份验证,但这似乎很复杂。
我们计划在IIS中托管该服务。
WCF中可用的选项势不可挡。基于以上所述,建议使用哪种配置(绑定/安全性)?
是否可以使用IIS进行托管,basicHttpBinding,身份验证成员资格提供程序和SSL进行加密?这些东西会在演唱会中运作良好吗?
答案 0 :(得分:1)
绝对使用BasicHttpBinding
和HTTPS。 BasiHttpBinding
提供最简单的SOAP互操作服务,HTTPS将确保客户端与您的服务之间的传输安全。
要对用户进行身份验证,您可以使用TransportWithMessageCredential
BasicHttpBinding
的安全模式。此安全配置需要消息中的标准化SOAP标头(UserName令牌配置文件)。标头(在WCF的情况下)包含纯文本中的用户名和密码。在这种情况下,纯文本不是问题,因为整个传输是通过SSL(HTTPS)保护的。即使您的客户端不是WCF并且没有任何特殊的SOAP堆栈,添加此标头也应该非常简单。此外,还可以使用此身份验证类型直接使用成员资格提供程序验证用户名或编写自定义密码验证程序。