【发布时间】:2018-01-13 16:33:57
【问题描述】:
在我的应用程序中,我想将用户 session_id 保存在本地存储中。我的应用程序是用 React 和 Redux 编写的(使用服务器端渲染)。我从 Api 获取用户 session_id。我想在用户登录我的应用程序时保存 session_id 吗?
最好的解决方案是什么?
【问题讨论】:
标签: javascript reactjs redux local-storage react-redux
在我的应用程序中,我想将用户 session_id 保存在本地存储中。我的应用程序是用 React 和 Redux 编写的(使用服务器端渲染)。我从 Api 获取用户 session_id。我想在用户登录我的应用程序时保存 session_id 吗?
最好的解决方案是什么?
【问题讨论】:
标签: javascript reactjs redux local-storage react-redux
当您从服务器接收到session_id 时,只需将其保存到本地存储。然后在您的应用程序初始化文件中检查本地存储是否包含任何session_id。如果是这样,请使用该 id 获取用户数据。
由于本地存储是客户端(浏览器)功能,您不能在后端使用它。
另一种选择可能是将您的session_id 保存到 cookie 中并在服务器端读取该 cookie。这样您就可以在服务器端对用户进行身份验证。
【讨论】:
您能否分享您目前必须更好地理解您的问题的代码。据我了解,您可能想尝试下面的代码。在 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');
}
希望这会有所帮助!
【讨论】: