[英]What does the following configuration mean in the context of WCF?
我从VS2013添加了一个WCF作为我的客户端应用程序的服务引用,它在app.config文件中生成了以下配置部分。
<security mode="Message">
<transport clientCredentialType="None" />
<message clientCredentialType="None" />
</security>
这是什么意思? 安全模式是消息,但内部有单独的实体用于传输和消息。 我很困惑。
提供传输安全性有两个主要选择:要么在传输级别提供传输安全性,要么在消息级别提供传输安全性。
MSDN上有一篇很好的文章在这里讨论。
运输安全:
使用传输安全性时,将使用传输层传递用户凭据和声明。 换句话说,用户凭据是依赖于传输的,与消息安全性相比,它允许更少的身份验证选项。
消息安全:
使用消息安全性时,使用WS-Security规范将用户凭据和声明封装在每封消息中以保护消息。 此选项从身份验证角度提供最大的灵活性。 只要客户端和服务都同意,您就可以使用任何类型的安全凭证,这些凭证在很大程度上独立于传输。
每条评论更新
在您提供的配置文件的上下文中它意味着什么:
设置security mode
(在本例中为message
)后,您可以选择设置客户端凭据类型。 客户端凭据类型属性指定客户端必须为服务提供哪种类型的凭据以进行身份验证。 在这种情况下,如果将transport
或message
指定为security mode
则它们将使用None
作为客户端凭据类型,这意味着客户端不必提供任何凭据。
目前,以下行基本上被忽略,因为message
是指定的security mode
。
<transport clientCredentialType="None" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.