1.登陆成功后储存token  可以利用 vuex 储存token

2.利用路由守卫处理

router.beforeEach((to, from, next) => {
 
})
 
 
3.我们可以判断进去的路由的名字是不是 login  如果没有token  或者 跳转的路径不是登陆页面 就跳转到登陆页面
如果有token &&  跳转的是登陆页面 ,就跳转到主页面
 
 
  if (!token && to.name !== LOGIN_PAGE_NAME) {
// 未登录且要跳转的页面不是登录页
next({
name: LOGIN_PAGE_NAME // 跳转到登录页
})
} else if (!token && to.name === LOGIN_PAGE_NAME) {
// 未登陆且要跳转的页面是登录页
next() // 跳转
} else if (token && to.name === LOGIN_PAGE_NAME) {
// 已登录且要跳转的页面是登录页
next({
name: homeName // 跳转到homeName页
})
} else {
if (store.state.user.hasGetInfo) {
turnTo(to, store.state.user.access, next)
} else {
store.dispatch('getUserInfo').then(user => {
console.log(token);
// 拉取用户信息,通过用户权限和跳转的页面的name来判断是否有权限访问;access必须是一个数组,如:['super_admin'] ['super_admin', 'admin']
turnTo(to, user.access, next)
}).catch(() => {
setToken('');
next({
name: 'login'
})
})
}
}

最新文章

  1. sql 时间(datetime)计算
  2. 十五天精通WCF——第十天 学会用SvcConfigEditor来简化配置
  3. Linux服务器开机没响应,BIOS信息都没有
  4. Node.js 究竟是什么
  5. MySQL5.6 replication architecture --原图来自姜承尧
  6. [转] Linux写时拷贝技术(copy-on-write)
  7. mysql不能插入中文数据
  8. GAN︱生成模型学习笔记(运行机制、NLP结合难点、应用案例、相关Paper)
  9. 微信小程序手机预览请求不到数据(最后一条不明所以)
  10. 如果在ie上报错又找不到问题原因该怎么办?
  11. SpringBoot设置文件上传大小限制--默认为1M
  12. CSS 3D transforms
  13. linux下配置nginx使用ftp目录作为静态资源文件的目标目录
  14. 【转】IT业给世界带来的危机
  15. POI简易帮助文档系列--读取Excel文件
  16. 搜索评价指标——NDCG
  17. ThinkPHP项目笔记之模板篇
  18. [C++] struct memory allocation
  19. SpringCloud微服务实战:一、Eureka注册中心服务端
  20. AI-Info-Micron-Menu:About Micron

热门文章

  1. Android NDK的生命周期JNI_OnLoad与JNI_OnUnload(转)
  2. IFG以太网帧间隙
  3. RaspberryPI 3b 技术总结(包括Linux)
  4. CentOS7配置静态IP中NM_CONTROLLED不要设置为NO
  5. redis 管理工具
  6. python string_3 end 内建函数详解
  7. 浅谈 JVM 结构体系、类加载、JDK JRE JVM 三者的关系
  8. 第四周课程总结与第二次实验报告(Java简单类与对象)
  9. 第十一周总结 继承、this和super的区别和用法、方法的重写和重载
  10. es6 js数组常用方法