2017-02-20 56 views
2

我得到了令牌,它存储在vue状态和local.storage中。 如何在auth后和获取令牌后创建重定向?如何在auth用户vue.js之后创建重定向?

此刻我有这个代码,它的重定向,但获取令牌重定向后不会发生,也没有检查令牌。

我需要检查令牌并重定向到fullPath,请帮助!

var Auth = { 
    loggedIn: false, 
    login: function() { this.loggedIn = true }, 
    logout: function() { this.loggedIn = false } 
} 
router.beforeEach((to, from, next) => { 
    if (to.matched.some(record => record.meta.requiresAuth) && !Auth.loggedIn) { 
    next({ 
     path: '/login', 
     query: {redirect: '/'} 
    }) 
    } else { 
    next() 
    } 
}) 

回答

0

一般来说它应该工作这样的:

  • 用户输入登录/传递
  • vuex动作userLogin烧制
  • userLogin动作将数据发送到服务器,服务器返回令牌
  • userLogin动作将令牌保存到localStorage
  • userLogin承诺突变USER_LOGIN与令牌和/或用户凭据

然后进行自动登录与应用程序保存令牌(浏览器关闭后,等)

  • 开始你应该叫userLoginLocal vuex行动
  • userLoginLocal读取localStorage
  • userLoginLocal令牌应该验证令牌和/或发送到服务器进行验证
  • userLoginLocal承诺突变USER_LOGIN与令牌和/或用户凭证(如果令牌是有效的)

注: 突变USER_LOGIN使得isLoggedIn = true

+0

好的,谢谢!但我决定,像这样:'router.beforeEach((to,from,next)=> {to.matched.some(record => record.meta.requiresAuth)){store.state.token === NULL){ 下({ 路径: '/登录', 查询:{重定向:to.fullPath} }) }否则{ 下() } }否则{下次 () '} }) – Ooos

相关问题