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

Rob*_*ssa 5 .net ajax wcf web-services

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

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

我将使用AJAX(jQuery)与此服务进行通信,并且应该可以使用基本的HTTP身份验证.

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

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

cas*_*One 3

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

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

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

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

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