首页 > 解决方案 > 在Angular 5中保存登录用户对象的最佳位置是什么

问题描述

当用户第一次登录系统时,它应该被保存在某种缓存中(localStorage、sessionStorage、cookie),这样即使页面重新加载,用户详细信息也可以在应用程序中使用。

我想知道存储这些详细信息的最佳位置是什么,因为在我的用户对象中,有很多安静的数据要存储,目前我正在使用 localStorage 并在其中对用户对象进行字符串化

这就是我现在所拥有的

localStorage.setItem("accessToken", loginResponse.access_token);
localStorage.setItem("refreshToken", loginResponse.refresh_token);
localStorage.setItem("expiresIn", loginResponse.expires_in);
localStorage.setItem("userObject", JSON.stringify(loginResponse.data));

而且,当需要视图来显示用户图像和名称时,我想从 localStorage 获取所需的 userObject 并将其保存在服务变量中,这样我就不需要在使用它的任何地方解析 JSON。

关于在页面刷新时如何在 Angular 5 中保留安静的大型 JSON 对象的任何想法,或者任何让我将它们存储为 JSON 而不是字符串的 Angular 5 包/组件的想法

标签: angularlocal-storageangular5

解决方案


如果您只想保留刷新和用户会话的数据,那么您也可以使用sessionStorage.

如果您想保留它直到令牌过期,那么您当前的使用方法localstorage看起来不错。


推荐阅读