内容简介:我有一个WCF服务运行,并能够使用basicHttpBinding在服务和.Net 2.0客户端之间进行通信.我现在需要锁定WCF服务,以便只能由经过身份验证的客户端调用.我可以控制将呼叫我的服务的客户端.客户是将在野外安装的产品的一部分,并且“打电话回家”来推送和拉取数据.客户端应用程序是为.Net 2.0框架编写的,目前无法升级到3.0或3.5版本.我无法向客户机添加Windows用户帐户.
我有一个WCF服务运行,并能够使用basicHttpBinding在服务和.Net 2.0客户端之间进行通信.
我现在需要锁定WCF服务,以便只能由经过身份验证的客户端调用.
我可以控制将呼叫我的服务的客户端.客户是将在野外安装的产品的一部分,并且“打电话回家”来推送和拉取数据.客户端应用程序是为.Net 2.0框架编写的,目前无法升级到3.0或3.5版本.我无法向客户机添加Windows用户帐户.
保护WCF服务并能够从我的.Net 2.0客户端进行身份验证是什么?此外,数据需要通过https传递.
我一直在搜索网页,觉得我正在野鹅追逐.
您可以将WCF端点配置为使用双向SSL身份验证.这意味着您可以要求客户提供X.509证书,以便在向服务发出请求时确认其身份.
在服务器端,您可以使用WCF中的一种内置验证方案,或提供自己的验证逻辑来检查X.509证书.
如果您在IIS中托管您的服务,则配置SSL以在传输级别要求客户端证书是微不足道的.但是,您可以在这里找到一个关于如何在自托管WCF服务中实现此行为的良好指南:
http://leastprivilege.com/2007/08/25/certificate-based-authentication-and-wcf-message-security/
我自己没有尝试过,但是由于这在消息级别创建了安全性要求,我认为您必须使用wsHttpBinding才能在您的WSDL合同中执行此操作,因为对访问Web服务施加安全要求是其中的一部分WS- *标准.
如果你必须使用basicHttpBinding,你可以尝试这个解决方案,而不是在传输级别上移动:
http://leastprivilege.com/2007/08/26/certificate-based-authentication-and-wcf-mode-independent/
希望这可以帮助
http://stackoverflow.com/questions/232500/how-to-configure-security-when-calling-wcf-service-from-net-2-0-client
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。