【问题标题】:save user session in localstorage in React server side application在 React 服务器端应用程序的本地存储中保存用户会话
【发布时间】:2018-01-13 16:33:57
【问题描述】:

在我的应用程序中,我想将用户 session_id 保存在本地存储中。我的应用程序是用 React 和 Redux 编写的(使用服务器端渲染)。我从 Api 获取用户 session_id。我想在用户登录我的应用程序时保存 session_id 吗? 最好的解决方案是什么?

【问题讨论】:

    标签: javascript reactjs redux local-storage react-redux


    【解决方案1】:

    当您从服务器接收到session_id 时,只需将其保存到本地存储。然后在您的应用程序初始化文件中检查本地存储是否包含任何session_id。如果是这样,请使用该 id 获取用户数据。

    由于本地存储是客户端(浏览器)功能,您不能在后端使用它。

    另一种选择可能是将您的session_id 保存到 cookie 中并在服务器端读取该 cookie。这样您就可以在服务器端对用户进行身份验证。

    【讨论】:

    • 我得到窗口对象未定义。因为我的应用在服务器上运行。
    • 是的,你应该在尝试使用它之前检查它是否存在。
    【解决方案2】:

    您能否分享您目前必须更好地理解您的问题的代码。据我了解,您可能想尝试下面的代码。在 else 语句中,对会话 id 进行 api 请求,然后使用来自 api 请求的会话 id 进行 setItem。然后,您将可以使用名为 currentSessionId 的变量访问它。

        var currentSessionId;
    
        if(localStorage.getItem('session_id')){
            currentSessionId = localStorage.getItem('session_id');
        } else {
            localStorage.setItem('session_id','<session id>');
            currentSessionId = localStorage.getItem('session_id');
        }
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-23
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-24
      • 1970-01-01
      相关资源
      最近更新 更多