1

我需要使用 Windows 身份验证对 WCF 服务进行身份验证。我使用了以下配置

服务器端点

<endpoint binding="basicHttpBinding" bindingConfiguration="Secured" contract="TestWCFSecurity.IService1" address="" />
 <endpoint address="mex" binding="basicHttpBinding" contract="IMetadataExchange" bindingConfiguration="Secured" />

绑定配置

<bindings>
 <basicHttpBinding>
  <binding name="Secured">
   <security mode="Transport">
    <transport clientCredentialType="Windows"  proxyCredentialType="Windows" />
   </security>
  </binding>
 </basicHttpBinding>
</Bindings>

当我为客户端生成代理时,我得到以下端点

<client>
            <endpoint address="https://FQNoftheSystem/TestWCF/Service1.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
                contract="IService1" name="BasicHttpBinding_IService1" />
</client>

问题

  1. 客户端配置是 https,而在服务器上是 http,因为端点不匹配。使用“传输”安全意味着 https 流。为什么我在服务器上获取 http 端点?
  2. 我已经使用了具有传输安全性的 basichttpbinding。这是允许的吗?
  3. 将 basichttpbinding 与传输一起使用会为客户端生成 https,并在服务器上生成 http。

任何指针都会有帮助。谢谢

4

1 回答 1

0

据此支持 basicHttpBinding运输安全。这似乎更像是 IIS 配置问题而不是 WCF 问题。

有关如何在 IIS 上设置 SSL 的信息,请参阅此处

于 2013-05-09T05:43:35.980 回答