使用vue做用户登录,关闭浏览器后清除登录信息,再次进入需重新登录,登录信息是保存在sesstionstorage还是vuex?

使用vue做用户登录,关闭浏览器后清除登录信息,再次进入需重新登录,登录信息是保存在sesstionstorage还是vuex?如果存在sesstionstorage中,页面刷新的时候不是登录信息就丢失了么?但是保存在vuex中,本质是保存在localstorage中,关闭浏览器再次进入,数据还是存在的,跳过登录了,怎么解决?

阅读 10.1k
6 个回答
  1. vuex是无法保存长效数据的,,它就是存在了js的一个对象上,不借助其他的保存方案,刷新都会失效。
  2. sesstionStorage的话关闭页签才会失效,刷新不会失效。
  3. 并没有看懂你的登录逻辑,什么时候自动登录,什么时候重新登录?不过不需要自动登录,为什么要保存登录信息呢?
  4. 如果是重新打开页面才需要重新登录,那么身份验证的token可以存在sesstionStorage中。

你的需求是典型的sesstionstorage应用场景,刷新不会失效,关闭标签页或浏览器才会失效。

保存在vuex中实际上就是保存在一个js变量里,刷新就失效了,不适合存放登录凭据。

cookie设置过期时间或者使用sessionStorage(前者到指定日期过期失效,后者关闭标签页或浏览器即失效)

sesstionstorage

js的东西都是运行在内存中的。而内存就会有清理的时候,你刷新就是把内存去掉了,不存在你刷新了还有数据的情况

vue-savedata
可以自动储存 vuex数据到本地
这个插件 配置简单-并且支持session和 localstoreage 同时存在

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题