【问题标题】:The easiest way to store session value存储会话值的最简单方法
【发布时间】:2014-09-08 19:10:45
【问题描述】:

对不起,我很愚蠢,但我真的无法理解它。有许多不同的选项,例如 Cookies、LocalStorage、LocalForage、Session Cookies 等。

虽然我需要的是存储用户信息,但我必须在服务器上完成(我正在使用节点和快递),我的意思是我可以确定服务器上的用户,我必须将它发送到客户端,并将其存储在浏览器的会话存储中。

而且我不能只使用普通的 cookie,我不想在会话之间坚持。

有了我可以做的 cookie:

apt.get '/', (req, res)->
   res.cookie 'user', currentUser

但是用res.session 做类似的事情是行不通的

【问题讨论】:

    标签: node.js session cookies local-storage session-cookies


    【解决方案1】:

    讨论后更新

    听起来你应该看看以下基本方法:

    • 获取您在服务器上但希望在浏览器中可用的用户数据,将其序列化为服务器上的 JSON
    • 每当加载完整页面时,将用户 JSON 数据以 HTML <script> 标记传输到浏览器。类似<script>window.USER = {"name": "Agzam"};</script>
    • 当你页面上的JS开始运行时,你可以直接访问它:window.USER

    你可以把它留在内存中,当窗口/标签关闭时它会消失。

    我推荐sharify 作为一种安全便捷的方式来执行此操作。它与 express 和 browserify 集成。如果你不使用 sharify,请注意在 HTML 中正确编码 JSON 的规则很棘手。

    我不想在会话之间坚持这一点

    不要使用localStoragelocalStorage 支持的任何东西,因为它们会持续更长时间。

    【讨论】:

    • 不,不,我不关心使其安全,我的 api 调用是安全的(我们关心)。我需要用户信息只是为了在屏幕上的不同位置显示用户名,因为我需要以某种方式存储它(在客户端上)
    猜你喜欢
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 2011-02-09
    相关资源
    最近更新 更多