我在控制台应用程序中有一个WCF服务。我需要使用一个自定义的用户名和密码验证器(为此,我编写了一个继承自UserNamePasswordValidator的类)。我需要使用http (不是https)。设置此配置的正确配置(就绑定类型、安全模式而言)是什么?先谢谢你...安德里亚·C
发布于 2010-06-04 19:24:02
您是否了解,通过使用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>https://stackoverflow.com/questions/2972272
复制相似问题