Javascript 如何跨多个选项卡维护登录会话?

Javascript 如何跨多个选项卡维护登录会话?,javascript,jquery,angularjs,session,Javascript,Jquery,Angularjs,Session,我正在开发一个网站,我在寻找维护用户登录会话的最佳解决方案时遇到了问题。 目前我正在使用HTML5Web存储“会话存储”来存储用户是否登录。但问题是,这只适用于单个选项卡,而不适用于浏览器的多个选项卡 我应该使用Cookie或LocalStorage,还是应该维护服务器端会话,并在每次页面加载到服务器时检查用户是否登录 最好的解决方案是什么?请引导我。 我在后端使用Node.js和mongodb,在前端使用Angular和jquery。首先要知道的是,会话只针对服务器端而不是客户端。第二件事,若

我正在开发一个网站,我在寻找维护用户登录会话的最佳解决方案时遇到了问题。 目前我正在使用HTML5Web存储“会话存储”来存储用户是否登录。但问题是,这只适用于单个选项卡,而不适用于浏览器的多个选项卡

我应该使用Cookie或LocalStorage,还是应该维护服务器端会话,并在每次页面加载到服务器时检查用户是否登录

最好的解决方案是什么?请引导我。
我在后端使用Node.js和mongodb,在前端使用Angular和jquery。

首先要知道的是,会话只针对服务器端而不是客户端。第二件事,若你们不想让你们的用户每次都加载,那个么试着把数据保存在用户的cookies中,也不要想,这样会需要更多的时间才能加载到服务器上。因为会话只是出于安全目的而创建的,我想通过将它们存储在客户端,您并不是出于这个目的。现在的主要问题是如何将它们存储在服务器端。假设您的服务器现在停机,您的所有会话都将被删除。现在,为了避免这种情况,请使用一些外部数据存储,如connect mongo/connect redis。redis比mongo快,但如果你只想使用内存存储,那么就搜索memcached/cookie sessions/jWT。希望这个答案有帮助:)

客户端会话登录,听起来真的不安全。服务器端是最好的解决方案,与本地存储相结合(因此它可以跨选项卡工作)我同意您的看法,但在应用服务器端会话时,困扰我的是,每次页面加载时,都会有一个请求发送到服务器,询问用户是否登录,这在页面加载和本地存储方面听起来很耗时。如果用户放弃注销,则用户每次都会登录。顺便问一下,如何将服务器端与本地存储结合使用?你的意思是,当用户登录时,我应该在本地存储中存储一个变量,该变量表示该用户是以非正常方式登录的。你不应该关心检查用户是否登录,会话将这样做,你应该有一个上层模块/类或请求拦截器,每次检查当前会话是否被授权。这是一个php会话。您的案例中唯一的区别是,您应该使用令牌同步此会话,因为您使用的是js app。您能稍微解释一下它是如何工作的吗?或者可以给我发送一些链接,从那里我可以参考或了解如何实现您的想法said@albanx请详细说明。