带负载均衡器的WCF安全性

时间:2013-09-04 05:46:38

标签: wcf web-services wcf-binding wcf-security

我们需要创建一个WCF服务(.NET 4.0),该服务将由我们组织外的客户端使用。

案例是我们有两个服务器位于负载均衡器后面,终止SSL。这是让我感到困惑的地方。 我们如何能够并且应该处理身份验证?

以前关于WCF的经验仅与内部使用的服务有关。如果我理解正确,我们应该使用basicHttpBinding来保证与基于Java的客户端的互操作性。我不知道这是否是基于JAX-WS的客户端的问题。

只有这一个客户端将使用该服务。

  • 我们需要以某种方式确保调用者经过身份验证才能使用 系统
  • 确保在公共网络中移动时邮件已加密

到目前为止,我找到的最好的文章是 http://devproconnections.com/net-framework/wcf-and-ssl-processing-load-balancers

几乎没有建议如何做到这一点。

  

可以配置WCF服务以进行基本身份验证,并通过HTTP清除接收凭据。这可以工作;但是,它排除了在消息中传递凭证,以及使用更有趣的凭证(例如发行的令牌)。

我们在我们的网站上使用表单身份验证,在该网站上托管服务。我认为使服务然后使用基本身份验证并不容易甚至不可能。

  

可以配置WCF服务以伪造传输安全性的存在,以便运行时允许接收消息凭证而无需传输或消息保护

这是否可行,将使用basicHttpBinding吗?

1 个答案:

答案 0 :(得分:2)

客户端和服务器绑定将不同。客户端绑定将使用eitehr消息中的用户名auth或具有传输安全性的传输级别(ssl):

   <bindings>
        <basicHttpBinding>
            <binding name="NewBinding0">
                <security mode="Message" />
            </binding>
        </basicHttpBinding>
    </bindings>

然后服务器配置将使用相同的配置但没有传输安全性。如果您选择使用邮件安全性,请查看WCF ClearUsernameBinding。如果您使用trasnport安全性(基本http),则设置mode =“TransportCredentialOnly”。