我是wcf的新手并寻求基本帮助。我听说安全可以在两个级别的wcf中给出。那是transport & message level.
我想知道传输级安全性和安全性是什么意思消息级安全性。运输级别安全与运输之间的区别是什么?消息级安全性以及何时优先使用。
我如何理解在哪个级别给出的安全性?
<bindings>
<wsHttpBinding>
<binding name="TransportSecurity">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<bindings>
<wsHttpBinding>
<binding name="wsHttpEndpointBinding">
<security>
<message clientCredentialType="Certificate" />
</security>
</binding>
</wsHttpBinding>
</bindings>
只看到上面的两个配置xml并告诉我为什么没有像消息一样使用的单词但是有一个叫做transport的单词用法?
某些时候模式用于安全标记,有些时候没有用于安全标记。模式可以是消息而不是传输吗?
请帮助讨论。感谢
答案 0 :(得分:3)
在WCF中,您提供的两个安全模型会影响两个不同的东西,您可以保护传输(tcp或http)或消息(协议)。
传输安全性取决于所选的绑定,但是在wsHttpBinding的情况下,您可以使用SSL来保护传输安全。传输安全性提供了有限的身份验证选择,如基本,证书,摘要,窗口和ntlm,但还有更多,它们完全依赖于传输。
另一方面,邮件安全性使您能够获得完整的端到端安全性(具有传输安全性),增强的灵活性,如仅安全的部分邮件,它支持多种传输以及各种凭据和声明。 / p>
还有第三种类型的安全模式,称为TransportWithMessageCredential,它包含两者。
运输安全具有以下优势:
运输安全具有以下缺点:
邮件安全性具有以下缺点:
我的建议是访问Developer Network security section for WCF
那里有很多例子,网上也有很多帮助。
如果您需要进一步了解详情,我希望这能为您解释。