angular - 在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 包/组件的想法
解决方案
如果您只想保留刷新和用户会话的数据,那么您也可以使用sessionStorage
.
如果您想保留它直到令牌过期,那么您当前的使用方法localstorage
看起来不错。
推荐阅读
- typescript - 使用Spread制作对象类具有抽象方法的对象副本时如何解决错误?
- ios - 链接到在应用程序扩展中使用不安全的 dylib 的警告消息
- c - 在一行中打印十六进制数组的所有元素
- python-3.x - Pygame - 随机生成精灵的问题
- javascript - 用于 Qualtrics 的 Google maps API javascript,深色地图
- r - 如何清除 R tcltk2、tcltk 中的 tk2text 框
- elasticsearch - 提供的 ElasticsearchSinkFunction 的实现是不可序列化的(flink-connector-elasticsearch6_2.11)
- azure-devops - 使用自定义构建配置在 Azure Devops 中构建 asp .net core 2.1 angular
- angular - Angular LocalStorage 安全地存储 Express API 数据
- c - printf 数组的整个单元