WCF安全配置

时间:2010-06-04 07:39:58

标签: .net wcf-security

我在控制台应用程序中托管了一个WCF服务。 我需要使用自定义用户名和密码验证器(为此,我编写了一个继承自UserNamePasswordValidator的类)。 我需要使用http(而不是https)。 设置此配置的正确配置(在绑定类型,安全模式方面)是哪个? 提前完成了... Andrea C

1 个答案:

答案 0 :(得分: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>