WCF会话或每次通话时传递用户名/密码?

时间:2008-10-27 15:47:56

标签: wcf authentication session

对于企业类型的WCF服务,可能有数万个客户端中的10K将对中央服务器进行身份验证和发送数据,在会话或身份验证方面,什么是“最佳”做法?

  1. WCF是否支持会话,如果是,我应该使用它吗? 或者我应该只是基于每次通话传递用户名/密码?

3 个答案:

答案 0 :(得分:12)

提到blowdart时,WCF会话与ASP.NET会话不同。你可以在这里阅读它们:http://msdn.microsoft.com/en-us/library/ms733040.aspx。在推出自己的安全性之前,您需要熟悉WCF为您提供的开箱即用的内容:http://msdn.microsoft.com/en-us/library/ms734736.aspx。他们可能会让您接近目标,而无需编写大量代码。具体来说,请查看How to: Create a Secure Session。使用安全会话,客户端和服务器缓存凭据,因此您不必对每个请求进行完全身份验证。默认情况下,如果Web服务器回收,您将丢失安全会话。如果您想要一个持续通过回收的安全会话,您需要查看How to: Create a Stateful Security Context Token for a Secure Session

答案 1 :(得分:1)

WCF支持会话是;但它们像ASP.NET会话一样。会话是按顺序传递消息(以及其他位和消息),它们不是在调用之间添加共享存储的。

对于经过身份验证的服务呼叫,您应每次都发送您的身份验证详细信息安全性基于每个消息应用。

答案 2 :(得分:-1)

如果您在IIS中托管服务,您仍然可以使用来自ASP.NET的会话 通过为服务行为启用aspnetcompatibility。

相关问题