Vue路由守卫(拦截)

2023-11-05

要解决的问题:最近做项目时,发现不登录账号和密码,在浏览器的地址栏直接输入路径也能跳转页面,就聊一下路由守卫吧,也叫路由拦截,话不多少 直接看操作
解决方案:在登录成功后,设置一个sessionStorage,通过这个sessionStorage来决定路由是否跳转
实现思路:点击登录按钮时向后端传递账号密码并设置sessionStorage,在router.js文件中设置全局路由守卫,通过这个sessionStorage来决定路由是否跳转

//点击登录按钮时向后端传递账号密码并设置sessionStorage
      login(){
        loginpage({
          user_id:this.email,
          password:this.password
        }).then(res =>{
          if(res.data.status ==0){
            // 登录成功后设置
            sessionStorage.setItem("flag", 1);          //名称可随意设置
            this.$router.push('/home')					//跳转到首页
           return  this.$vs.notify({color:'success',text:'登录成功',position:'top-center'})
          }else {
            return this.$vs.notify({color:'warning',text:'账号或密码输入误',position:'topcenter'})
          }}).catch(err =>{
          console.log(err)
        })
      },

在router.js文件中设置全局路由守卫

router.beforeEach((to,from,next)=>{
  let flag = sessionStorage.getItem('flag')       //获取点击登录按钮时所设置的 sessionStorage
  if(to.path === '/home'||to.path === '/algsmanager'){        //如果想要跳转home或者algsmanager页面必须判断有没有sessionStorage
      if(flag){              //如果有sessionStorage
        next();				//跳转
      }else {
        alert('您还没有登录,请先登录账户');   //没有就先登录
        next('/login')							//还在登录页
      }
  }
  else{
    next();
  }
  if(to.path === '/login'){				//如果跳转到了登录页面必须清空sessionStorage,否则在地址栏输入路径还是会跳转
    sessionStorage.clear();				//清空sessionStorage
  }
})

好了,今天的分享就到此结束了,欢迎大家评论交流。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue路由守卫(拦截) 的相关文章

随机推荐

  • logback.xml文件未被加载

    起初 将logback xml放到了src下面 结果运行后发现只能在控制台输出日志 而不能将日志输出到文件中 于是网上搜索 首先将logback xml root标签中的ALL改为OFF 再次运行程序 看是否能够加载logback xml文
  • Katex的markdown常用语法中一些关于Latex数学符号或公式等的笔记

    文章目录 数学符号 设变量时常用的希腊字母 大小关系 分数 开方 同余 一般符号 二项式 符号上下添加额外信息 上标符号 上下标 上下划线 箭头 集合 省略号 矩阵 小括号形式 中括号形式 行列式 带省略号的形式 带横线或竖线分隔的形式 逻
  • CentOS7编译安装Openvswitch 2.3.0 LTS

    1 安装依赖包 yum y install openssl devel wget kernel devel 2 安装开发工具 yum groupinstall Development Tools 3 添加用户 adduser ovswitc
  • c++ sdk框架_鸿蒙系统中的 JS 开发框架

    今天鸿蒙终于发布了 开发者们也终于 沸腾 了 源码托管在国内知名开源平台码云上 https gitee com openharmony 我也第一时间下载了源码 研究了一个晚上 顺带写了一个 hello world 程序 还顺手给鸿蒙文档提了
  • Flutter lottie开机启动动画

    一款app在启动预加载数据时 少不了采用开机启动动画方案 今天介绍lottie制作开机启动动画 Lottie官网地址 https lottiefiles com 项目源码 Flutter手机端 lottie实现开机启动动画源码 前端元素由前
  • ps背景不变换字_ps怎么把背景上面的字换掉

    1 怎么用ps把图片上的字换掉 换成自己想打的字 1 演示使用的设计软件为photoshop 版本为Adobe photoshop CC2017 以下简称PS 2 打开图像处理软件PS 然后加载一张用于演示换字的图片 3 首先选择工具栏中的
  • 静态代码和动态代码的区别_静态代码扫描方法及工具介绍

    来自 信安之路 微信号 xazlsec 本文作者 国勇 信安之路特约作者 静态扫描就是不运行程序 通过扫描源代码的方式检查漏洞 常见的方法也有多种 如把源代码生成 AST 抽象语法树 后对 AST 进行分析 找出用户可控变量的使用过程是否流
  • 限制服务器显示ip段,限制网段中的某段IP访问Samba服务器

    今天在百度知道看到这样一个问题 linux samba服务如何限制指定网段访问 例如 允许192 168 1 0网段访问 但不允许192 168 1 100 192 168 1 170访问 这个问题与我之前的一篇文章 Samba访问控制 貌
  • Android开发edittext输入监听

    在开发Android的过程中 对于edittext的使用频率还是挺高的 比如用户账号密码的输入 基本信息的填写 数据的填入等 一般都会通过button点击事件对其数据进行提取 不过在一些场景 需要实时监听或者当输入完毕之后要马上获取用户所输
  • 逻辑回归和SVM的区别

    1 LR采用log损失 SVM采用合页损失 2 LR对异常值敏感 SVM对异常值不敏感 3 在训练集较小时 SVM较适用 而LR需要较多的样本 4 LR模型找到的那个超平面 是尽量让所有点都远离他 而SVM寻找的那个超平面 是只让最靠近中间
  • FFmpeg从入门到入魔(2):保存流到本地MP4

    1 FFmpeg裁剪移植 之前我们简单地讲解了下如何在Linux系统中编译FFmpeg 但是编译出来的so体积太大 而且得到的多个so不便于使用 本节在此基础上 将详细讲解在编译FFmpeg时如何对相关模块作裁剪以精简so的体积 并且编译只
  • 文档权限服务器上,服务器上的权限

    服务器上的权限 内容精选 换一换 数据库安全服务与其他云服务的关系的依赖关系如图1所示 数据库安全服务实例创建在弹性云服务器上 用户可以通过该实例 为弹性云服务器上的自建数据库提供安全审计功能 数据库安全服务可以为关系型数据库服务中的RDS
  • Css:Conditional comments(条件注释)

    http msdn microsoft com en us library ms537512 VS 85 aspx http www quirksmode org css condcom html Item Example Comment
  • 23黑马QT笔记之猜数字游戏答案

    23黑马QT笔记之猜数字游戏答案 代码在自己写的day04的第一个项目 想要代码的直接评论 写上自己的邮箱 不要像以前发私信了 因为CSDN有时消息不同步 或者看了之后忘了
  • Flask基础: 增删改查

    app py 实现数据库的增删改查 from flask import make response request session abort jsonify from config settings import Config from
  • 隐藏导航条底部的黑线(shadowImage)四种办法

    方法一 当设置navigationBar的背景图片时移除黑线的方法 该方法会使translucent属性失效 objc view plain copy 方法一 当设置navigationBar的背景图片时移除黑线的方法 该方法会使trans
  • Python操作redis及redis的操作命令

    Python操作redis及redis的操作命令 Python操作redis https www cnblogs com melonjiang p 5342505 html https www cnblogs com xiaojing201
  • 实战Java高并发程序设计(第二版)-chp4锁

    多线程引用 需要维护并行数据结构间的一致性状态 需要为线程的切换和调度花费时间 参考 实战Java高并发程序设计 第二版 Unsafe类详解 java cas算法实现乐观锁 4 1 合理的锁性能 4 1 1 减少锁持有时间 原有的程序 对整
  • Linux搭建服务器

    文章目录 Linux搭建服务器 1 基础环境配置 1 1配置centos7 1 2安装xshall 1 3安装xftp7 2 配置jdk 1 8 第一步 卸载系统自带的OpenJDK以及相关的java文件 第二步 下载最新稳定JDK 第三步
  • Vue路由守卫(拦截)

    要解决的问题 最近做项目时 发现不登录账号和密码 在浏览器的地址栏直接输入路径也能跳转页面 就聊一下路由守卫吧 也叫路由拦截 话不多少 直接看操作 解决方案 在登录成功后 设置一个sessionStorage 通过这个sessionStor