admin-element-登陆

做了一个结合admin和abp原生的vue模板。

现在新增两个登陆路由,假设为学生和教师,都指向原本的登陆界面。

问题1:新增完路由后,发现手动输入/student路由总是回到/login,

查看路由守卫后发现路由有白名单,在名单内的路由,无token时才不会被重定向。

解决:在白名单中加入新增的路由

问题2:点击登录,成功后还是回到/login路由。

发现有token后,守卫还是会对路由名进行判断,路由地址为/login的会被指向路由/

解决:对这个判断进行修改,添加教师、学生路由。

const whiteList = ['/login','/doctor','/nurse'] // 不重定向白名单
router.beforeEach((to, from, next) => {
  NProgress.start()
  if (window.abp.auth.getToken()) {
    // con
    if (whiteList.indexOf(to.path) !== -1) {
      next({ path: '/' })
      NProgress.done() // if current page is dashboard will not trigger	afterEach hook, so manually handle it
    } else {
      next()
    }
  } else {
    if (whiteList.indexOf(to.path) !== -1) {
      next()
    } else {
      next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页
      NProgress.done()
    }
  }
})

router.afterEach(() => {
  NProgress.done() // 结束Progress
})

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章