Here以及here表示在处理wsHttpBinding
时,传输安全性是通过SSL处理的。
在MSDN page about SSL and WCF上,它指出当ServiceHost在IIS中托管时,ServiceHost会让SSL由IIS处理。
这是否意味着如果binding/securityMode="Transport"
,则会忽略任何wsHttpBinding/binding/security/transport/clientCredentialType
值,因为设置SSL传输不需要任何选项?
当它陈述
时,它甚至可以说出这种效果here“将安全模式设置为TransportWithMessageCredential时, transport确定了提供的实际机制 运输级安全。例如,HTTP协议使用Secure HTTP上的套接字层(SSL)(HTTPS)。因此,设置 任何传输安全对象的ClientCredentialType属性(例如 如HttpTransportSecurity)被忽略。换句话说,你只能设置 消息安全对象的ClientCredentialType(用于 WSHttpBinding绑定,NonDualMessageSecurityOverHttp对象)。“
然而basicHttpBinding
和wsHttpBinding
的{{3}},他们都明确强调了如果安全模式设置为传输的示例,请将binding / transport / clientCredentialType设置为某个(例如:Windows)。
Transport
和TransportWithMessageCredential
之间的确切区别是什么?
我是否有错误的结尾,SecurityType
枚举(None|Message|Transport|Mixed
)不仅仅是为了隐私,而是为了对服务器进行身份验证?
如果通过SSL加密提供传输安全性,身份验证/授权如何融入此阶段?
非常感谢您帮助我更好地了解这一切是如何融合在一起的。
答案 0 :(得分:0)
据我所知,TransportWithMessageCredential是“两全其美”。通道在传输层上是安全的,因此客户端和服务之间存在安全连接(可以非常快速,在硬件中实现),此外,消息使用消息凭证进行签名,以便在到达服务之前可以存活多个跃点(在WCF中验证。)
当然,您可以使用传输层不支持的邮件凭据,例如用户名/密码。