如何使用VueJS保存用户会话?

时间:2016-09-30 18:37:52

标签: node.js vue.js

我试图找出如何在用户注销时保存用户会话。例如多个购物车,交易,甚至以前的搜索。我对整个后端语言都很陌生,我只是在寻求有关此事的指导。我已经尝试过google-foo的这个问题,但是没有找到任何关于我想要实现的目标的好文档。

任何人都可以帮助和/或指导我吗?

2 个答案:

答案 0 :(得分:15)

尝试使用vue-session

登录区域中的示例:

export default {
    name: 'login',
    methods: {
        login: function () {
          this.$http.post('http://somehost/user/login', {
            password: this.password,
            email: this.email
          }).then(function (response) {
            if (response.status === 200 && 'token' in response.body) {
              this.$session.start()
              this.$session.set('jwt', response.body.token)
              Vue.http.headers.common['Authorization'] = 'Bearer ' + response.body.token
              this.$router.push('/panel/search')
            }
          }, function (err) {
            console.log('err', err)
          })
        }
    }
}

登录区域:

export default {
  name: 'panel',
  data () {
    return { }
  },
  beforeCreate: function () {
    if (!this.$session.exists()) {
      this.$router.push('/')
    }
  },
  methods: {
    logout: function () {
      this.$session.destroy()
      this.$router.push('/')
    }
  }
}

答案 1 :(得分:4)

您需要将会话存储在cookie或服务器上。

vue-cookie将是用于浏览器存储的一个很好的组件。

如果您要在服务器上存储,则需要为数据创建端点并以某种方式存储它;数据库,缓存文件,redis等。