我看到這裏到處這個問很多次,但我不能左右我的頭的IIS應用程序啓用它。WCF異常:...這個服務需要「匿名」身份驗證,但它沒有爲承載此服務
這是我想要做的。我需要在IIS 6中託管WCF服務。我希望用戶名/密碼安全,並且我不希望這些傳遞未加密,所以我使用的是HTTPS。我在我的IIS上本地工作,但是當我部署它時,我得到匿名訪問未啓用錯誤。在我的本地IIS上啓用了匿名訪問,在部署的服務器上它不是,我們不想啓用它。問題理解。解決方法不是明顯對我....
如果我瀏覽網頁的IE,還是從Visual Studio中添加服務引用,我得輸入我的用戶名/密碼後,這個錯誤。所以這表明我的證書和HTTPS工作正常,並且用戶名和密碼是正確的。下面是web.config中的相關設置:
<services>
<service name="SecureWcfTestsApplication.Service1">
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration ="Binding2"
contract="SecureWcfTestsApplication.IService1" />
</service>
</services>
<bindings>
<basicHttpBinding>
</basicHttpBinding>
<wsHttpBinding>
<binding name="Binding2">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="Windows" algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings>
我使用的wsHttpBinding,因爲它不喜歡與clientCredentialType設置爲Windows basicHttpBinding的。話雖如此,我寧願使用basicHttp,但它希望UserName作爲clientCredentialType,我不確定UserName和Windows安全性之間有什麼不同。
最佳
雷
嗨 - 我加了這一點,仍然得到同樣的錯誤 - 我現在有這樣的: basicHttpBinding的> <的wsHttpBinding > <綁定名稱= 「Binding2」> <安全模式= 「TransportWithMessageCredential」> <消息clientCredentialType = 「視窗」 algorithmSuite = 「默認」/> <傳輸clientCredentialType = 「視窗」/> –
RBrowning99
2012-03-20 17:13:08
在任何情況下e後來發現這是我發現的最簡單的方法。 <服務名稱= 「SecureWcfTestsApplication.Service1」> <端點地址= 「」 結合= 「basicHttpBinding的」 bindingConfiguration = 「Binding2」 合同= 「SecureWcfTestsApplication.IService1」/> <綁定名稱= 「Binding2」> <安全模式= 「運輸」> <傳輸clientCredentialType = 「視窗」/> basicHttpBinding的> –
RBrowning99
2012-03-21 03:51:00