VueJS - 页面重新加载后Vue-auth $ auth.user()为空

时间:2018-03-30 16:30:59

标签: javascript authentication vue.js

我的VueJS应用程序适用于组件。登录工作正常。在我的一个组件中,我有一个检查用户权限的功能:

checkPermissionOnRoute () {
        alert('ddd')
        console.log(this.$auth.user().permission)
        console.log(this.$router)
        if (this.$route.meta.permission) {
          if (!this.$auth.user().permission || !this.$route.meta.permission.includes(this.$auth.user().permission)) {
            console.log(this.$auth.user())
            console.log(this.$auth.user().permission)
            console.log(this.$route.meta.permission)
            console.log('ssrrver')
            this.$router.replace('/server-error')
          }
        }
      },

在组成中我添加了这个:

created () {
      this.getUserPermission()
      this.checkPermissionOnRoute()
    },
    watch: {
      '$route': 'checkPermissionOnRoute',
    }

因此,每次组件更改时,都会检查权限。如果错了,它会重定向到另一个页面。 该组件也位于顶部: 但是,如果我重新加载页面,我可以记录用户,数据在那里。 但是如果我尝试记录这个。$ auth.user()。权限,在页面重新加载后它总是为false。如果我在SPA中导航它可以正常工作。 奇怪的是在我记录的函数中:

的console.log(此。$ auth.user())     的console.log(此。$ auth.user()。许可)

并且第一个日志具有权限字段。但是比第二个日志说错了吗?

0 个答案:

没有答案