.net WCF安全配置

.net WCF安全配置,.net,wcf-security,.net,Wcf Security,我在控制台应用程序中有一个自托管的WCF服务。 我需要使用自定义用户名和密码验证器(为此,我编写了一个从UserNamePasswordValidator继承的类)。 我需要使用http(而不是https)。 设置此配置的正确配置(就绑定类型、安全模式而言)是什么? Thanx提前。。。 Andrea C您知道,通过使用HTTP而不是HTTPS,用户名和密码将通过网络以纯文本形式发送,并且可能很容易被嗅探到吗 如果您使用的是.NET 3.5,则可以选择使用自定义的UserNamePassword

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

您知道,通过使用HTTP而不是HTTPS,用户名和密码将通过网络以纯文本形式发送,并且可能很容易被嗅探到吗

如果您使用的是.NET 3.5,则可以选择使用自定义的
UserNamePasswordValidator
保护邮件或传输通道。如果您使用的是.NET 3.0,则只能将消息安全性与自定义的
UserNamePasswordValidator
一起使用。了解更多信息

例如,如果您正在使用.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>

您知道,通过使用HTTP而不是HTTPS,用户名和密码将通过网络以纯文本形式发送,并且可能很容易被嗅探到吗

如果您使用的是.NET 3.5,则可以选择使用自定义的
UserNamePasswordValidator
保护邮件或传输通道。如果您使用的是.NET 3.0,则只能将消息安全性与自定义的
UserNamePasswordValidator
一起使用。了解更多信息

例如,如果您正在使用.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>