我必须确保一个WCF RESTful服务,我想用以下两种方式之一来实现...
1: 通过实施this文章
中建议的功能2: 只需在url或post变量中传递用户名和密码
即可我想知道的是有人这样做过吗? 这是这样做的吗? 如果我使用第二个选项,可以指责它是不安全的(因为asp.net表单无论如何都会发送明文)?
答案 0 :(得分:0)
在查询字符串上传递PII信息是一个明确的禁忌。
WCF支持开箱即用的基本身份验证。您需要将其与传输安全性(SSL)结合使用,以确保数据通过线路安全加密。这绝对是网络上最低标准的身份验证形式,并且将得到最广泛的支持。要使用这种安全性配置WCF REST服务,您只需配置服务的绑定,如下所示:
<webHttpBinding>
<binding name="MyBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
</webHttpBinding>
WCF也支持开箱即用的摘要authenticatoin,但只有在针对服务器的AD进行验证时才会使其在互联网场景中无用。因此,要进行摘要式身份验证,您需要编写自己的实现,该实现将挂钩到WCF安全性运行时。有一些例子说明如何在网上做到这一点。也就是说,如果您拥有SSL,那么通过基本身份验证进行摘要式身份验证并没有什么好处。