如何使用WCF / JSON对用户进行身份验证和跟踪?

时间:2009-12-23 10:26:10

标签: .net ajax wcf web-services

我正在WCF中实现一项服务,需要通过用户名/密码进行自定义用户身份验证。此服务配置为WebScript(JSON)服务。

我想知道是否可以获得安全上下文,因此我不必在每次调用中都包含哈希或用户/传递。我知道我可以使用证书,但我需要使用身份验证的使用/传递机制。

我将使用AJAX(jQuery)与此服务进行对话,应该可以使用基本的HTTP身份验证。

此服务稍后还会公开其他端点,例如通过TCP,这确实支持“正确”的身份验证。

在WCF中有很多方法可以提高安全性,我觉得有点迷失,感觉就像我读的越多,我知道的就越少。

2 个答案:

答案 0 :(得分:3)

鉴于您将使用jQuery(假定HTTP传输),您首先要做的是确保此端点的方案是HTTPS。如果不是,那么你会遇到很多麻烦,因为你受到中间人攻击。

此博客条目显示了如何创建自定义用户名/密码验证器:

http://blogs.msdn.com/pedram/archive/2007/10/05/wcf-authentication-custom-username-and-password-validator.aspx

如果您使用的是HTTPS,那么您应该能够将安全模式设置为传输而不是消息,并且应该工作。

话虽如此,对于此服务,如果您不想每次都传递用户和密码,那么您将需要在后端使用基于会话的服务,这将需要使用cookie(但是将在绑定中为您处理。

答案 1 :(得分:3)

除了使用HTTPS之外,我还建议您查看使用WCF构建REST服务的this article。关于使用HMAC的部分有一些好主意。根据您的情况,您可能还需要考虑将auth卸载到另一个提供程序(OpenId实现者),并且只需在您的侧面维护一个配置文件密码。

相关问题