2013-10-13 266 views
0

我正在设计一个架构,其中Web界面是一个客户端(使用前端js框架开发),并且所有请求都被路由到多个Web服务。node.js rest客户端 - 服务器交互的webservice身份验证

所有通信都将使用标准HTTP响应和JSON实体进行。

现在我正面临认证机制。 我的服务当然会有几个用户,我需要限制对用户资源的访问。

用户将1)登录到Web客户端(/admin),然后2)客户端js将代表用户对web服务执行多个AJAX请求。

我应该在客户端/服务器之间创建持久会话,然后在每个请求旁边传递一些引用或使用无状态方法验证每个请求?我怎么能认证当前用户的Web客户端请求,而不会为我的系统增加太多开销或复杂性?

我正在查看护照本地和护照localapikey,但它不是很清楚,如果我应该授权我的客户或用户本身(意思是我应该只有一对凭据为所有用户执行基于Web的操作时,服务请求或每个用户一对?)

一个简单的例子(解释我不需要复制粘贴代码)将不胜感激。在这个阶段,我更喜欢这种解决方案,它不会带来复杂性,但是为了能够快速设置,提供了很好的安全性。

PS。我还可以考虑创建一个独特的服务处理认证,以创建一个通用的API在客户端和服务器之间共享,但这对我来说似乎有点过分。

感谢,

回答

0

如果您已经使用快递作为Node.js的框架,你可以使用它内置的会话处理。它能够使用任何类型的会话存储包括存储,Redis的,蒙戈的等

这里有一个很好的例子:http://blog.modulus.io/nodejs-and-express-sessions

+0

呀,我现在用的快递都为客户网站(一个响应开/管理员)和web服务器。那么,您的目的是否建议在用户登录时初始化的所有服务之间共享会话?我对吗? 使用无状态交互取代您的体验会有更好/更差的表现吗?顺便说一句,我喜欢这个解决方案,因为它似乎更快部署。 – user1978591

相关问题