什么是路由守卫?有什么用?
路由守卫是路由在跳转前、后过程中的一些钩子函数,这些函数可以让你操作一些其他的事,在后台管理中设置权限时经常看到,在实现路由跳转前校验是否有权限,有权限就可以通过,反之就会被执行其他操作,如返回首页。
路由守卫分为:全局守卫,组件守卫,路由独享
#路由守卫参数:
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();}});
什么是路由守卫?有什么用?相关推荐
- 【硬核解说】一口气讲明白Angular的5种路由守卫RouteGuard是嘛玩意儿
Angular的常用路由守卫有5种,按照执行顺序: ① CanLoad:进入到当前路由的时候触发(若用户没有权限访问,相应的模块并不会被加载.这里是指对应组件的代码). ↓ ② CanAcitivat ...
- Vue全局路由侦听beforeEach路由守卫附代码使用示例
使用路由守卫beforeEach,可以实现路由侦听: 全局侦听路由跳转的实现代码: app.vue onLaunch: function(e) {this.$router.beforeEach((to ...
- 路由守卫 AJAX,vue路由导航守卫 和 请求拦截以及基于node的token认证
#####什么时候需要登录验证与权限控制 1.业务系统通常需要登录才能访问受限资源,在用户未登录情况下访问受限资源需要重定向到登录页面: 2.多个业务系统之间要实现单点登录,即在一个系统或应用已登录的 ...
- 路由守卫-vue切换路由登录判断、条件判断
在vue项目中,切换路由时肯定会碰到需要登录的路由,其原理就是在切换路径之前进行判断,你不可能进入页面再去判断有无登录重新定向到login,那样的话会导致页面已经渲染以及它的各种请求已经发出. 一.如 ...
- Angular 路由守卫
1. 路由 Angular路由: 可以控制页面跳转:可以在多视图间切换: 2. 路由守卫 Angular路由守卫: 在进入或离开某路由时,用于判断是否可以离开.进入某路由::: return true ...
- node --- [express] cookie/session 机制与 中间件的使用(路由守卫)
说明 源代码 记忆.遗忘回顾 使用 cookie/session 机制,让 客户端/服务器 的访问变得有状态 cookie 与 session 由于 HTTP 协议的无状态性,当一次连接断开后. 服务 ...
- 创建vue项目(四)路由相关知识、路由守卫、插槽、打包小细节
一.路由相关点 1. 路由跳转传参以及接参 https://segmentfault.com/a/1190000012393587 方法一: (1) 参数配置: { path : 'xx/:参数变量' ...
- react路由守卫+重定向_React + Apollo:如何在重新查询后进行重定向
react路由守卫+重定向 by Jun Hyuk Kim 金俊赫 React + Apollo:如何在重新查询后进行重定向 (React + Apollo: How to Redirect afte ...
- reactrouter4路由钩子_react router @4 和 vue路由 详解(八)vue路由守卫
13.vue路由守卫 a.beforeEach 全局守卫 (每个路由调用前都会触发,根据from和to来判断是哪个路由触发) const router = new VueRouter({ ... }) ...
- vue 声明周期函数_vue-router路由守卫-上
1. 为什么要使用路由守卫?什么是路由守卫? 第一次认识路由守卫:之前我做过的小项目里面,我们直接在浏览器网址的地方进行修改就能跳转页面,这是不安全的,因此就需要路由守卫,实现通过路由拦截,来判断用户 ...
最新文章
- python:函数可以返回值--编写脚本计算24 + 34 / 100 - 1023
- 全球及中国台式破壁机行业销售模式及市场需求份额调研报告2021-2027年
- Java16-day07【Map(概述、特点、功能、遍历)、HashMap集合练习、集合嵌套、Collections、模拟斗地主升级版】
- laravel 数据库获取值的常用方法
- SCP 报错 not a regular file
- ZZULIOJ 1092: 素数表(函数专题)
- IP通信基础 3.21
- 容器Docker详解
- Android AsyncTask 源码解析(任玉刚版)
- 浙江大学内部Python教程(教材PDF, PPT课件, 源码)
- 风险分析(Barra风险模型)
- ElasticSearch常用搜索命令整理(长期更新...)
- 人工智能研究中心快递柜——代码分析十
- Virtuoso Layout 系列教程:01 软件安装教程 - 附资源包
- cass光标大小怎么调_CAD如何调整十字光标和靶框大小
- 应用场景是什么?怎样判断、描述一个产品的应用场景?
- 模型导入unity贴图缺失怎么办?
- PHP源生数据分页显示
- 3D电子沙盘构建方法与实现的方案
- 自媒体多平台助手——融媒宝
热门文章
- ADS1115 AD转换模块
- The database could not be exclusively locked to perform the operation(SQL Server 5030错误解决办法)(转)...
- UltraLAB台式图形工作站(并行计算高效王~高性能计算工作站EX620i介绍)
- 美国佛罗里达州立大学刘毅老师招收机器学习方向全奖博士生
- stringexample.java_给出如下声明:String s = “Example”; 合法的代码有哪些?()_学小易找答案...
- android 小说下载器 源码 分享
- 计算机专业,25岁成985高校博导,13篇顶会!入职半年发ICML,网友:万点暴击...
- Linux 系统配置信息查询 各种查看Linux配置的方法
- 【AIOT】手表调研
- 电信飞扬校园网共享WIFI(MAC用户)