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