2010-06-04 185 views
1

我有一個WCF服務自我託管在控制檯應用程序中。 我需要使用自定義用戶名和密碼驗證器(我爲此寫了一個從UserNamePasswordValidator繼承的類)。 我需要使用http(不是https)。 設置此配置的正確配置(根據綁定類型,安全模式)? Thanx提前... Andrea CWCF安全配置

回答

1

您知道,通過使用HTTP而不是HTTPS,用戶名和密碼將通過網絡以純文本形式發送並且可能很容易被嗅探?

如果您使用的是.NET 3.5,則可以選擇使用自定義UserNamePasswordValidator來保護郵件或傳輸通道的安全。如果您使用.NET 3.0,則只能使用自定義UserNamePasswordValidator的郵件安全性。 See How to: Use a Custom User Name and Password Validator瞭解更多信息。

例如,如果您使用的是.NET 3.5,並且您希望使用傳輸安全性,則可以使用以下配置。您必須記得添加一項服務行爲,讓WCF瞭解您的自定義UserNamePasswordValidator類。

<system.serviceModel> 
    <bindings> 
    <wsHttpBinding> 
     <binding name="Binding1"> 
     <security mode="Transport"> 
      <transport clientCredentialType="Basic" /> 
     </security> 
     </binding>   
    </wsHttpBinding> 
    </bindings> 

    <behaviors> 
    <serviceCredentials> 
     <userNameAuthentication userNamePasswordValidationMode="Custom" 
           customUserNamePasswordValidatorType="** The fully qualified type name for your UserNamePasswordValidator **" /> 
    </serviceCredentials> 
    </behaviors> 
</system.serviceModel>