做了一个结合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 })
来源:51CTO
作者:左手是笋右手是窝头
链接:https://blog.csdn.net/sinat_29009169/article/details/100775537