vue如何存储用户信息,如用户名,ID等?

对于一个网站,用户登录成功,从后台获取的用户信息(用户名,id等),希望能够在header的组件中显示,那么,vue将怎样保存用户信息呢?

1、这不是一个复杂的系统,我认为不需要为了保存用户信息就用vuex,而且vuex刷新后,信息就没有了。
2、使用localStorage或者sessionStorage的话,用户如果使用隐私浏览方式也无法使用。
3、而header这个组件是在login组件之后注册的,因此也不能用eventbus。

不知道大家有没有什么存储用户信息的办法,求分享~~~

阅读 28.2k
6 个回答

自问自答:目前还是用sessionStorage存储用户token, 全局变量存储用户其他信息,刷新数据丢失后,再用token请求。
2018-0-19,更新回答:目前次用的策略用户登录成功后,将后台返回的token,存在storage中,接着,前端使用此token向后台请求用户信息,将此信息(角色,权限)保存在vuex中;这样防止用户刷新造成信息丢失;用户刷新页面后,再次以此token向后台请求用户信息即可。

localStorage加密,试试这个

可以判断登录后由后端设置session值 ,前端在请求获取

cookie的话,我不是很喜欢,cookie在每次请求的时候都会携带,造成请求头过大。
最新的API浏览器是会有数据库的,HTML5本地数据库。
一般登陆后,从服务器获取到信息可以使用vuex保存,如果嫌vuex太大的话可以使用实例化一个数据类,通过prototype来保存数据,但是刷新数据也会没有的。

你提供的1、3肯定是不行的。
只能考虑2.

隐私浏览方式,这个是浏览器本身的原因,做出来就是不想保存用户信息,无法解决。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏