【发布时间】:2010-12-22 00:23:10
【问题描述】:
我的 WCF 服务使用 .NET 3.5 完成,我在实现服务时使用了 wsHttpBinding。
对于 .NET 3.5 客户端,没有问题,但 .NET 2.0 和 Java 客户端在 wsHttpBinding 中存在问题。
所以我添加了一个带有 basicHttpBinding 的新端点,其安全性与 wsHttpBinding 相似,并考虑了以下标准:
- 我想在启用传输安全的情况下使用自定义用户名/密码验证。
- 无法进行 Windows 身份验证。
- 我宁愿不向 SOAP 消息添加自定义标头以进行身份验证。
我的基本HttpBinding 配置是:
<basicHttpBinding>
<binding name="MyService.basicSecureBinding">
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" proxyCredentialType="None"/>
<message clientCredentialType="UserName" algorithmSuite="Basic128"/>
</security>
</binding>
</basicHttpBinding>
并在 ServiceBehavior 中声明了自定义 UsernameValidator 类。
但似乎无法从 .NET 2.0 客户端使用“TransportWithMessageCredential” 为了启用自定义用户名验证,消息安全性是必要的。
您对解决这个问题有什么建议或参考吗?
【问题讨论】:
标签: java wcf .net-3.5 .net-2.0