javascript - 如何跨多个选项卡维护登录 session ?

标签 javascript jquery angularjs session

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

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

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

最佳答案

您必须知道的第一件事是 session 仅针对服务器端而不是客户端。其次,如果您希望您的用户不会每次都加载,请尝试将数据保存在用户的 cookie 中,也不要考虑它会需要更多时间在服务器上加载。因为 session 只是为了安全目的而创建的,我想通过将它们存储在客户端你没有使用那个目的。现在的主要问题是如何将它们存储在服务器端。假设您的服务器现在出现故障,您的所有 session 都将被删除。现在要避免使用一些外部数据存储,如 connect-mongo/connect-redis。 redis 比 mongo 快,但如果你只想使用内存存储,那么搜索 memcached/cookie-sessions/jWT 希望这个答案有帮助:)

关于javascript - 如何跨多个选项卡维护登录 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29385765/

相关文章:

javascript - 有没有命令可以向群组的所有成员发送私有(private)消息?

javascript - 如何为在 Chrome 中应用了 css 缩放的 img 获得正确的 jQuery offset()

javascript - 相同的 div 类具有不同的 css 样式

c# - 如何使用 Selenium Webdriver 自动测试 Angular JS

javascript - 使用 Flask/Jquery 将可点击表行中的值传递到 Python

javascript - 如何在 PHP 中执行基于事件的操作

javascript - 如何解决 "Mixed content"- Google-Chrome 控制台上的问题

javascript - 在 Google map 上绘制文字

javascript - 获取过滤器来处理 promise 的服务

javascript - ng 模型值在自定义指令中打印未定义