0

我已经使用 wcf 一段时间了,它的身份验证机制、Windows、用户名/密码、客户端证书已经有一段时间了。

我想更好地了解 WCF 在创建 SOAP 消息并发送它们时如何在内部使用这些身份验证机制。

具体来说,是 wcf 在每个 SOAP 请求中传递的身份验证凭据,还是它仅在第一个请求中传递身份验证凭据,然后在后续会话期间发出某种令牌并来回传递?

这些身份验证凭据(用户名+密码、windows、客户端证书)是否以不同的方式传递,具体取决于安全模式是传输还是消息?是不是在消息模式下,身份验证凭据在 SOAP 消息内,而在传输模式下,http 标头是其他特定于传输协议的用于传递身份验证凭据?

让我们假设 SOAP 消息在使用传输模式时使用 https 进行保护,在使用消息模式时加密,并且不担心该问题的消息隐私或篡改。

4

1 回答 1

0

你已经问了几个大问题,但我会尝试回答有关会话的问题。

会话和身份验证处理取决于您使用的绑定。例如,如果您使用的是 basichttpbinding,主机基本上就像一个 Web 服务器,并且不会创建持久的“会话”;因此,您发送的每个 SOAP 请求都必须包含在主机上进行身份验证所需的所有内容。但是,有一些可用的绑定(如 WSHTTPBinding)允许创建在使用令牌进行初始身份验证后持续存在的安全性和可靠性会话。

在 SSL 中包装消息应该可以防止出现问题。

于 2013-10-24T13:15:42.890 回答