首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存登录用户信息

问保存登录用户信息
EN

Stack Overflow用户
提问于 2017-04-18 10:13:34
回答 2查看 5.5K关注 0票数 4

我设法用拉拉护照登录了。我有记号,很好。但我想保持登录用户信息,姓名,阿凡达等。

我的登录过程得到了oauth令牌。在仪表板组件中,我对用户数据进行api调用。

我应该将它们保存在全局Vue对象中还是使用Vuex?安全吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-18 12:35:14

一些你可能会考虑的选择

  • 将数据存储在cookie中
  • 使用localStorage
  • 将所有内容保存在root vue实例中
  • 将所有内容保存在包装vue组件中。

我的建议是将auth令牌存储在cookie中,这实际上是成功调用后端所必需的。这将使您发送的每一个请求都非常容易访问它。

为了存储用户信息,我建议要么创建包装组件,要么使用根vue实例。下面的示例应该对此进行清理。

包装主组件(内联模板)

代码语言:javascript
复制
data: function() {
  return { userinfo: {} }
},

created: function() {
  // load your user info
}

然后在index.html /主视图中使用它

代码语言:javascript
复制
<body>
  <home inline-template>
    <!-- any stuff here -->

    <!-- pass the user prop to every component that is shown in the userinfo -->
    <router-view :user="userinfo"></router-view>
  </home>
</body>  

然后,在路由器视图中显示的组件可以访问用户支柱。

示例组件

代码语言:javascript
复制
...

props: ['user'],

...

<template>
   <span>{{ user.name }}</span>
</template>

...

重要:要完成这项工作,还需要将道具:真正的添加到您的路由定义中。这里详细说明了一切:https://router.vuejs.org/en/essentials/passing-props.html

注意:如果不想在包装组件中加载用户数据,可以将其加载到其他任何地方,并使用事件总线将结果传递到包装组件。但是,您应该始终只有一个关于用户信息的真相来源。只存放在一个地方。

票数 4
EN

Stack Overflow用户

发布于 2017-08-24 03:42:07

我发现会话助手非常容易使用,它解决了全局使用oauth令牌的问题:

见:https://laravel.com/docs/5.4/session,标题:全球会话助手

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43469358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档