我需要使用 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>
问题
- 客户端配置是 https,而在服务器上是 http,因为端点不匹配。使用“传输”安全意味着 https 流。为什么我在服务器上获取 http 端点?
- 我已经使用了具有传输安全性的 basichttpbinding。这是允许的吗?
- 将 basichttpbinding 与传输一起使用会为客户端生成 https,并在服务器上生成 http。
任何指针都会有帮助。谢谢