WCF Web服务是否适用于非microsoft SOAP客户端?

WCF Web服务是否适用于非microsoft SOAP客户端?,wcf,security,soap,wcf-security,wcf-client,Wcf,Security,Soap,Wcf Security,Wcf Client,我需要创建一个web服务来收集客户应用程序中的数据 这些应用程序使用不同的技术编程,它们都有一个共同点:它们可以使用普通的soapweb服务 我已经有了一个可以公开的WCF服务,但由于它只是为了内部目的而构建的,所以我从来都不需要保护它 我确实读了很多关于如何保护WCF服务以及如何从Microsoft客户端应用程序使用它的文章。但是,我非常担心客户的非microsoft应用程序实现标准WCF服务安全性的能力。我必须记住,其中一些可能是无状态的,无法保持会话或安全WCF服务可能需要的任何东西 这是

我需要创建一个web服务来收集客户应用程序中的数据

这些应用程序使用不同的技术编程,它们都有一个共同点:它们可以使用普通的soapweb服务

我已经有了一个可以公开的WCF服务,但由于它只是为了内部目的而构建的,所以我从来都不需要保护它

我确实读了很多关于如何保护WCF服务以及如何从Microsoft客户端应用程序使用它的文章。但是,我非常担心客户的非microsoft应用程序实现标准WCF服务安全性的能力。我必须记住,其中一些可能是无状态的,无法保持会话或安全WCF服务可能需要的任何东西

这是我现在的选择

1) 向每个WCF函数添加用户名/密码参数,并在每次调用时执行凭据检查。(我确实有SSL证书……它是否足够安全地考虑这个选项?)

2) 删除我的WCF服务,创建一个带有用户名/密码参数的普通SOAP Web服务,如选项#1所述,以更接近我客户的应用程序功能

3) 实施标准的WCF安全性,让客户自己找到解决方法。(这里真正的问题是:WCF安全性是否足够简单,可以由任何SOAP客户端实现?)

4) 在我的客户发现我是一个网络服务安全noob之前,改变我的名字,带着客户的钱搬到牙买加

5) 还有别的


那么我最好的选择是什么呢?

是的,我可以提供我们使用的选项。听起来您想要basicHttpBinding

我们有一个使用basicHttpBinding的WCF web服务,并将IIS设置为使用基本http身份验证

因此,非.NET客户端可以轻松地使用它(basicHttpBinding),我们可以为他们提供一个Active Directory域帐户,允许他们通过IIS进行访问。没有用户名/密码可以通过web服务不断来回发送,并且为了安全起见,它通过HTTPS运行

PHP、Java和.NET客户端目前正在使用它。是的,.NET客户端仍然可以将其作为服务引用导入,这使得捕获错误异常更容易


没有一种解决方案是适合所有人的,但能满足我们的需求。

是的,但某些配置有利于某些供应商。请参阅CodePlex上的WCF Express互操作绑定项目:

它们提供以下互操作设置:

  • Oracle WebLogic
  • 甲骨文地铁
  • IBM WebSphere
  • ApacheAxis2
就WS-*/Oasis标准而言,Oracle Metro(以前称为SUN WSIT)堆栈是迄今为止最先进的