1

我目前在 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 托管环境中这似乎可行吗?

谢谢。

4

2 回答 2

1

您需要endpoint为每个单独的binding.

复制现有的endpoint,然后更新addressand binding

/{myService}

于 2013-01-26T02:55:15.963 回答
0

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

于 2013-01-28T22:02:11.940 回答