路由守卫是路由在跳转前、后过程中的一些钩子函数,这些函数可以让你操作一些其他的事,在后台管理中设置权限时经常看到,在实现路由跳转前校验是否有权限,有权限就可以通过,反之就会被执行其他操作,如返回首页。

路由守卫分为:全局守卫,组件守卫,路由独享

#路由守卫参数:

to:目标路由对象

from:即将要离开的路由对象

next():放行

1.全局守卫:所有的路由切换都会执行,一般写在路由配置文件中

router.beforeEach(fn) :to\from\next()

router.afterEach(fn):to\from

router.beforeResolve(fn):to\from\next()

2.组件守卫:

beforeRouteEnter(fn):to\from\next()    #在渲染该组件的对应路由被confirm前调用,不能获取组件实例,因此无法this

beforeRouteUpdate(fn):to\from\next()

beforeRouteLeave(fn):to\from\next()

3.路由独享守卫:一般写在路由配置中

beforeEnter(fn):to\from\next()

利用路由守卫实现页面权限控制

    router.beforeEach(function(to,from,next){if(to.matched.some(item=>item.meta.requiresAuth)){// 获取本地存储数据let userInfo = localStorage.getItem('userInfo') || {};try{userInfo = JSON.parse(userInfo)}catch(err){userInfo = {};}// 判断当前用户信息是否包含tokenif(userInfo.authorization){// 发起请求校验token的有效性request.get('/jwtverify',{params:{authorization:userInfo.authorization}}).then(({data})=>{if(data.code === 0){next({path:'/login',query:{// 跳转到登录页面,并传递目标页面路径redirectTo:to.fullPath}});}})next();}else{next({path:'/login',query:{// 跳转到登录页面,并传递目标页面路径redirectTo:to.fullPath}});}}else{next();}});

什么是路由守卫?有什么用?相关推荐

  1. 【硬核解说】一口气讲明白Angular的5种路由守卫RouteGuard是嘛玩意儿

    Angular的常用路由守卫有5种,按照执行顺序: ① CanLoad:进入到当前路由的时候触发(若用户没有权限访问,相应的模块并不会被加载.这里是指对应组件的代码). ↓ ② CanAcitivat ...

  2. Vue全局路由侦听beforeEach路由守卫附代码使用示例

    使用路由守卫beforeEach,可以实现路由侦听: 全局侦听路由跳转的实现代码: app.vue onLaunch: function(e) {this.$router.beforeEach((to ...

  3. 路由守卫 AJAX,vue路由导航守卫 和 请求拦截以及基于node的token认证

    #####什么时候需要登录验证与权限控制 1.业务系统通常需要登录才能访问受限资源,在用户未登录情况下访问受限资源需要重定向到登录页面: 2.多个业务系统之间要实现单点登录,即在一个系统或应用已登录的 ...

  4. 路由守卫-vue切换路由登录判断、条件判断

    在vue项目中,切换路由时肯定会碰到需要登录的路由,其原理就是在切换路径之前进行判断,你不可能进入页面再去判断有无登录重新定向到login,那样的话会导致页面已经渲染以及它的各种请求已经发出. 一.如 ...

  5. Angular 路由守卫

    1. 路由 Angular路由: 可以控制页面跳转:可以在多视图间切换: 2. 路由守卫 Angular路由守卫: 在进入或离开某路由时,用于判断是否可以离开.进入某路由::: return true ...

  6. node --- [express] cookie/session 机制与 中间件的使用(路由守卫)

    说明 源代码 记忆.遗忘回顾 使用 cookie/session 机制,让 客户端/服务器 的访问变得有状态 cookie 与 session 由于 HTTP 协议的无状态性,当一次连接断开后. 服务 ...

  7. 创建vue项目(四)路由相关知识、路由守卫、插槽、打包小细节

    一.路由相关点 1. 路由跳转传参以及接参 https://segmentfault.com/a/1190000012393587 方法一: (1) 参数配置: { path : 'xx/:参数变量' ...

  8. react路由守卫+重定向_React + Apollo:如何在重新查询后进行重定向

    react路由守卫+重定向 by Jun Hyuk Kim 金俊赫 React + Apollo:如何在重新查询后进行重定向 (React + Apollo: How to Redirect afte ...

  9. reactrouter4路由钩子_react router @4 和 vue路由 详解(八)vue路由守卫

    13.vue路由守卫 a.beforeEach 全局守卫 (每个路由调用前都会触发,根据from和to来判断是哪个路由触发) const router = new VueRouter({ ... }) ...

  10. vue 声明周期函数_vue-router路由守卫-上

    1. 为什么要使用路由守卫?什么是路由守卫? 第一次认识路由守卫:之前我做过的小项目里面,我们直接在浏览器网址的地方进行修改就能跳转页面,这是不安全的,因此就需要路由守卫,实现通过路由拦截,来判断用户 ...

最新文章

  1. python:函数可以返回值--编写脚本计算24 + 34 / 100 - 1023
  2. 全球及中国台式破壁机行业销售模式及市场需求份额调研报告2021-2027年
  3. Java16-day07【Map(概述、特点、功能、遍历)、HashMap集合练习、集合嵌套、Collections、模拟斗地主升级版】
  4. laravel 数据库获取值的常用方法
  5. SCP 报错 not a regular file
  6. ZZULIOJ 1092: 素数表(函数专题)
  7. IP通信基础 3.21
  8. 容器Docker详解
  9. Android AsyncTask 源码解析(任玉刚版)
  10. 浙江大学内部Python教程(教材PDF, PPT课件, 源码)
  11. 风险分析(Barra风险模型)
  12. ElasticSearch常用搜索命令整理(长期更新...)
  13. 人工智能研究中心快递柜——代码分析十
  14. Virtuoso Layout 系列教程:01 软件安装教程 - 附资源包
  15. cass光标大小怎么调_CAD如何调整十字光标和靶框大小
  16. 应用场景是什么?怎样判断、描述一个产品的应用场景?
  17. 模型导入unity贴图缺失怎么办?
  18. PHP源生数据分页显示
  19. 3D电子沙盘构建方法与实现的方案
  20. 自媒体多平台助手——融媒宝

热门文章

  1. ADS1115 AD转换模块
  2. The database could not be exclusively locked to perform the operation(SQL Server 5030错误解决办法)(转)...
  3. UltraLAB台式图形工作站(并行计算高效王~高性能计算工作站EX620i介绍)
  4. 美国佛罗里达州立大学刘毅老师招收机器学习方向全奖博士生
  5. stringexample.java_给出如下声明:String s = “Example”; 合法的代码有哪些?()_学小易找答案...
  6. android 小说下载器 源码 分享
  7. 计算机专业,25岁成985高校博导,13篇顶会!入职半年发ICML,网友:万点暴击...
  8. Linux 系统配置信息查询 各种查看Linux配置的方法
  9. 【AIOT】手表调研
  10. 电信飞扬校园网共享WIFI(MAC用户)