wcf如何实现其身份验证?

时间:2013-10-23 19:55:54

标签: wcf authentication soap

我一直在使用wcf及其身份验证机制,Windows,用户名/密码,客户端证书一段时间。

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

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

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

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

1 个答案:

答案 0 :(得分:0)

你问过几个重要的问题,但我会尝试回答关于会话的问题。

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

在SSL中包装邮件可以防止出现问题。