Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 具有会话的节点或用于大型用户基础应用程序的JWT?_Node.js_Redis_Jwt_Session Cookies_Role Based Access Control - Fatal编程技术网

Node.js 具有会话的节点或用于大型用户基础应用程序的JWT?

Node.js 具有会话的节点或用于大型用户基础应用程序的JWT?,node.js,redis,jwt,session-cookies,role-based-access-control,Node.js,Redis,Jwt,Session Cookies,Role Based Access Control,我正在建立一个生产网站,并计划有不同角色的大量用户。我目前的做法是redis/sessions容器化的自动伸缩弹性beanstalk部署。然而,随着用户的增加,使用JWT会更明智、更具成本效益吗?听起来不错,但将其存储在本地存储中的想法似乎会带来很大的安全风险?我只是想把它建立起来,以便在稍后的时间里避免头痛。初学者,考虑JWT不是会话存储的替代。在移动到JWT之后,您需要将任何会话状态数据存储到其他位置。JWT将通过声明为您提供身份验证和授权。令牌本身已签名,因此您可以并且应该验证签名以确保真

我正在建立一个生产网站,并计划有不同角色的大量用户。我目前的做法是redis/sessions容器化的自动伸缩弹性beanstalk部署。然而,随着用户的增加,使用JWT会更明智、更具成本效益吗?听起来不错,但将其存储在本地存储中的想法似乎会带来很大的安全风险?我只是想把它建立起来,以便在稍后的时间里避免头痛。

初学者,考虑JWT不是会话存储的替代。在移动到JWT之后,您需要将任何会话状态数据存储到其他位置。JWT将通过声明为您提供身份验证和授权。令牌本身已签名,因此您可以并且应该验证签名以确保真实性。JWT适用于无状态应用程序、SPA应用程序或跨应用程序身份验证

第二,考虑你期望的规模有多大。在您需要更多功能之前,使用Redis进行会话存储很可能需要很长的时间。预计该限制远远超过1k请求/秒。到那时,很可能您的体系结构中还有更多的问题需要解决。在多个Redis实例之间共享会话也将是一种增长的选择

同时,优化会话存储的使用。不要在授权之外过度使用它。做得越多,迁移到JWT的过程就越痛苦


最后的一些想法:做你的研究。不要过早地优化。但你的头脑正处于思考这个问题的正确位置

下面的答案对你的问题有帮助吗?