当前位置: 首页 > news >正文

前端Token存储问题

存储位置有:vuex,localStorage和sessionStorage
对比:

  • localStorage
    优点:localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口)。
    缺点:同一个属性名的数据会被替换,不同浏览器无法共享localStorage或sessionStorage中的信息。

  • sessionStorage
    优点:sessionStorage生命周期为当前窗口或标签页,sessionStorage的数据不会被其他窗口清除,页面及标签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。
    缺点:一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了。

  • Vuex
    优点:vuex的数据存储在内存中,保密性较高
    缺点:刷新页面(这里的刷新页面指的是 --> F5刷新,属于清除内存了)时vuex存储的值会丢失
    总结:也就是说,localStorage可存储持久化的数据;sessionStorage仅限于当前窗口;vuex可存储保密性较高的数据,但刷新页面后数据会被清除


token分别存储在vuex,localStorage和sessionStorage区别

  1. localStorage:可以持久化保存token,需要在重新登录时,清除原有的localStorage数据;但如果打开新的页面(新窗口)重新登录其他账号,会替换原有的token;
  2. vuex:保密性高,不会因为打开其他页面清除token,但页面刷新会清除token。
    注:可以尝试在监听页面刷新前,将vuex存在localStorage,刷新后再获取并删除token
  3. sessionStorage:在不关闭窗口的情况,可以持久化保存token,也需要在重新登录时,清除原有的sessionStorage数据;但打开新的页面(新窗口)重新登录其他账号,不会替换原有token;也不会因为刷新页面清除token
    注:如果复制页面的话,两个页面会共享sessionStoage中的数据,综合上述分析:token最好是保留在sessionStorage中

相关文章:

  • 为什么房产等实体资产不适合做同质化所有权拆分?
  • 市场营销+AI+区块链
  • 为什么NFT可安全实现无第三方担保交易
  • 腾讯千帆区块链云市场发布会
  • 陆奇万字演讲:世界新格局下的创业创新机会
  • 区块链积分体系
  • 区块链token设计原理与区块链token经济生态的商业意义
  • 如何判断是否有必要使用区块链
  • 基于区块链服务的供应链物流应用
  • 区块链服务在医疗健康上的应用
  • 区块链的前世今生
  • 关于新科学与领导力
  • 工具及其对商业社会的影响思考
  • 区块链的意义和应用现状
  • 从文交所陨落史,看NFT艺术市场前景
  • .pyc 想到的一些问题
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • CAP理论的例子讲解
  • Fastjson的基本使用方法大全
  • Git初体验
  • js数组之filter
  • React系列之 Redux 架构模式
  • sessionStorage和localStorage
  • supervisor 永不挂掉的进程 安装以及使用
  • 阿里云应用高可用服务公测发布
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 动态魔术使用DBMS_SQL
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 前端
  • 强力优化Rancher k8s中国区的使用体验
  • 三分钟教你同步 Visual Studio Code 设置
  • 用简单代码看卷积组块发展
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • $ git push -u origin master 推送到远程库出错
  • (rabbitmq的高级特性)消息可靠性
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (笔试题)分解质因式
  • (多级缓存)缓存同步
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (规划)24届春招和25届暑假实习路线准备规划
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (学习日记)2024.02.29:UCOSIII第二节
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ./configure、make、make install 命令
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET : 在VS2008中计算代码度量值
  • .net 调用php,php 调用.net com组件 --
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .Net转前端开发-启航篇,如何定制博客园主题
  • @TableLogic注解说明,以及对增删改查的影响