2013-05-09 36 views
0

我需要使用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。

任何指針將真正幫助。由於

回答

0

根據thisbasicHttpBinding支持傳輸的安全性。 這似乎更像是一個IIS配置問題比WCF問題。

See here for information on how to setup SSL on IIS

+0

Thank you @Grzegorz。你是對的。 basicHttpBinding和傳輸安全不是相互排斥的。我在IIS中設置了SSL。我想知道如何生成的服務是在HTTP中,而不是在服務器端的HTTPS。任何指針可能在這裏出錯 – Nycil 2013-05-09 10:29:00

+0

@Nycil我不明白你的意思是「生成一個服務器端」?你不是自己寫配置嗎? – 2013-05-09 11:01:33

+0

對不起@格熱戈爾斯的誤導性陳述。是的,我自己寫了配置。我已將「地址」(url)字段留空。當我瀏覽IIS中的服務時,url是http而不是https。 – Nycil 2013-05-14 05:19:45