WCF服务 - 混合安全绑定?

时间:2013-01-26 02:49:48

标签: wcf iis

我目前在WCF服务上有以下绑定:

  <basicHttpBinding>
    <binding name="BasicHttpEndpointBinding">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Ntlm" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
  </basicHttpBinding>

  <webHttpBinding>
    <binding name="WebHttpEndpointBinding">
      <security mode="None" />
    </binding>
  </webHttpBinding>

使用相应的端点:

    <endpoint address=""
              binding="basicHttpBinding"
              bindingConfiguration="BasicHttpEndpointBinding"
              bindingNamespace="http://services.company.net/MyWcfService"
              contract="MyWcfService.Interface.IMyWcfService">
    </endpoint>
    <endpoint address="RestService"
              behaviorConfiguration="restServiceBehavior"
              binding="webHttpBinding"
              bindingConfiguration="WebHttpEndpointBinding"
              contract="MyWcfService.Interface.IMyWcfService" />
  </service>

我们的想法是让客户端调用'BasicHttpEndpointBinding'绑定以要求NTLM身份验证,并且调用'WebHttpEndpointBinding'的客户端能够匿名执行此操作(通过jQuery进行RESTful调用)。

虽然这似乎可以在我的机器上运行,但在IIS 7.5托管环境中这似乎是可行的吗?

感谢。

2 个答案:

答案 0 :(得分:1)

每个endpoint都需要单独的binding

复制现有的endpoint,然后更新addressbinding

  

/{myService}

答案 1 :(得分:0)

这适用于IIS,启用了匿名和Windows身份验证。