我有我在IIS6託管的WCF服務。我正在嘗試使用傳輸級安全性設置自定義用戶名/密碼認證。我已經建立了一個測試證書,並得到了客戶端通過SSL沒有指定的認證,即連接:IIS6中的自定義用戶名/密碼身份驗證
<security mode="Transport">
<transport clientCredentialType="Basic" />
</security>
我已經建立了與郵件安全和客戶端憑證輸入「用戶名」自定義驗證,但我想現在將它與運輸級安全性結合起來。當我設置web.config時,當我嘗試查看WSDL時,出現錯誤: 「此服務的安全設置需要'基本'身份驗證,但未啓用託管此服務的IIS應用程序的身份驗證。」
這裏是我的web.config中的重要組成部分:
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="UserNameBinding">
<security mode="Transport">
<transport clientCredentialType="Basic" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceAuthenticationBehavior"
name="Service.WebServices.MyService">
<endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration=""
name="mexBinding" contract="IMetadataExchange" />
<endpoint binding="wsHttpBinding" bindingConfiguration="UserNameBinding"
name="wsHttpBindingWithAuth" contract="Service.WebServices.IMyService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceAuthenticationBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials>
<serviceCertificate findValue="TestCert01" storeLocation="LocalMachine"
storeName="TrustedPeople" x509FindType="FindBySubjectName" />
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="Service.WebServices.ClientCredentialsValidator, Service.WebServices" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
有什麼我應該在IIS6設置,以使這個? 在IIS中,我最初啓用了「啓用匿名訪問」選項。我也嘗試啓用「基本身份驗證(密碼以明文發送)」複選框,但沒有成功。
你試圖anon [關閉]和基本[在]在一起?做這樣的事你不知道如果一個iisreset可以幫助,所以我做一個無論如何 – 2012-04-17 13:24:49