WCF:使用不带SSL证书的自定义UserNamePasswordValidationMode

本文关键字:证书 自定义 UserNamePasswordValidationMode SSL WCF | 更新日期: 2023-09-27 18:07:24

对于客户,我必须使用WCF在客户端和服务器应用程序之间进行通信。

我的应用程序使用WSHttpBinding进行通信,但是现在,客户不需要安装任何SSL证书,因为:

  • 服务器只能通过VPN访问,因此通信已经加密
  • 他们的计算机不在域中,所以他们不能使用域CA
  • 服务器的名称没有公共IP,所以他们不能为这个IP购买SSL证书

所以我开始寻找如何不使用任何SSL证书,但我遇到了一些问题:

我看到我应该为安全模式使用"TransportCredentialOnly"设置,但此设置不可用于"WsHttpBinding"。所以我决定使用basicHttpBinding,它有这个选项,但似乎basicHttpBinding不提供使用CustomUserNamePasswordValidator的可能性。

我该怎么做呢?我发现的每个搜索结果要么使用SSL证书,要么没有customUserNameValidator。

非常感谢您的帮助

WCF:使用不带SSL证书的自定义UserNamePasswordValidationMode

发送不安全的用户名和密码是非常罕见的情况。您需要为此定制绑定,因为默认绑定不允许这样做。这个答案包含两个选项。请注意,第一个选项将允许您通过不安全的传输发送纯文本用户名和密码,但它将破坏WSDL生成(这是WCF中的一个错误)。