好吧,我真的需要幫助獲取此設置。目前我有一個ssl證書安裝。作爲應用程序,我在iis中安裝了一個wcf服務。我已經將它設置爲需要ssl,並且我能夠連接到該服務。問題是我想要Windows身份驗證。我想禁用匿名安全。不久,我禁用匿名並保持Windows身份驗證。我收到一個錯誤: 「主機上配置的身份驗證方案('IntegratedWindowsAuthentication')不允許在綁定'BasicHttpBinding'('匿名')上配置的身份驗證方案。請確保SecurityMode設置爲Transport或TransportCredentialOnly.etc等....「設置安全的SSL,WCF使用Windows身份驗證
當我用Windows身份驗證重新打開匿名。是的,我可以訪問服務,但它不使用Windows認證..它的奇怪,因爲其他文件,如test.html例如仍然需要用戶名/密碼。我不知道如何正確地限制一個web服務使用ssl的Windows身份驗證...任何人都可以幫助我?請
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
<customErrors mode="Off"/>
</system.web>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="TransportSecurity">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binding>
</wsHttpBinding>
</bindings>
<services>
<service name="WcfConcur.ConcurService">
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="TransportSecurity"
contract="WcfConcur.IConcurService"/>
<endpoint address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpsGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
在客戶端,我添加了對wcf的引用。並自動下載。事情是,託管我INTIAL WCF地址是https://address/whatever.svc和它下載的時候它顯示http://internal地址我不知道如果多數民衆贊成問題
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
</startup>
<system.serviceModel>
<client>
<endpoint address="http://internal address/wcfConcurService/ConcurService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IConcurService"
contract="wcfConcurRef.IConcurService" name="BasicHttpBinding_IConcurService" />
</client>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IConcurService" />
</basicHttpBinding>
</bindings>
</system.serviceModel>
</configuration>
我也得到一個有沒有終點的,聽可以接受的消息。這通常是由不正確的地址或SOAP操作引起的。有關更多詳細信息,請參閱InnerException(如果存在)。由於某些原因,客戶端配置中的地址具有http://內部地址,而不是外部地址。我該如何解決 – Sirus 2015-03-30 20:04:13
也許你可以包括客戶端配置文件的相關部分進行審查。 – Seymour 2015-03-30 20:24:20
好吧,我把它包含在原來的文章 – Sirus 2015-03-30 20:37:46