Vue路由守卫及页面登录权限控制的设置方法(两种)

 更新时间:2020-04-01 01:35:43   作者:佚名   我要评论(0)

①先在我们的登录页面存储一个登录数据


// 登录成功时保存一个登录状态;
sessionStorage.setItem("flag", 1);

② 添加路由守卫
方法一: 直接在路由中添加


co

①先在我们的登录页面存储一个登录数据

// 登录成功时保存一个登录状态;
sessionStorage.setItem("flag", 1);

② 添加路由守卫

方法一: 直接在路由中添加

const router = new VueRouter({ ... })
 // 路由守卫 
router.beforeEach((to, from, next) => {
 // ...
})

方法二:当我们使用的是export default 方法时可以在main.js中添加 router.beforeEach((to, from, next) => { })方法。

const Recruit = resolve => require(['../components/common/main/index.vue'], resolve);
export default new Router({
 routes: [
 // 登录 
 {
  path: path.login.path,
  name: path.login.path,
  component: Login,
 }, 
 .........

③ 在路由当中添加自定义字段requireAuth,判断当前路由是否需要登录。

下图中1是设置多权限时的设置方法,下图中2是单权限设置方法

④ 在路由守卫中添加我们自己的代码逻辑。

// 路由守卫 
router.beforeEach((to,from,next)=>{
 
 let flag = sessionStorage.getItem('flag ')

 if(to.meta.requireAuth == true){ // 需要登录权限进入的路由
  if(!flag){     // 获取不到登录信息
   next({
    path: '/login'
   })
  }else{      // 获取到登录信息,进行下一步
   return next();
  }
 }else{       // 不需要登录权限的路由直接进行下一步
  return next();
 }
})

总结

到此这篇关于Vue路由守卫及页面登录权限控制的设置方法的文章就介绍到这了,更多相关vue 路由守卫页面登录权限内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

  • vue路由守卫及路由守卫无限循环问题详析
  • vue 利用路由守卫判断是否登录的方法
  • vue2.0 实现导航守卫(路由守卫)
  • vue2.0 实现导航守卫的具体用法(路由守卫)
  • vue 设置路由的登录权限的方法

相关文章

  • Vue路由守卫及页面登录权限控制的设置方法(两种)

    Vue路由守卫及页面登录权限控制的设置方法(两种)

    ①先在我们的登录页面存储一个登录数据 // 登录成功时保存一个登录状态; sessionStorage.setItem("flag", 1); ② 添加路由守卫 方法一: 直接在路由中添加 co
    2020-04-01
  • java如何获取本机IP地址

    java如何获取本机IP地址

    本文实例为大家分享了java实现获取本机IP地址的具体代码,供大家参考,具体内容如下 原因:同一台机子上开着两个web工程,现在有需求需要保证两个项目之间交互的安全
    2020-04-01
  • js实现数据导出为EXCEL(支持大量数据导出)

    js实现数据导出为EXCEL(支持大量数据导出)

    数据导出为excel是前端比较常用的功能。笔者近期在网上收集汇总了几种常用的方法,供大家使用。 1、ActiveXObject(“Excel.Application”) 这种方法只能在IE下使用。
    2020-04-01
  • 浅谈Django中的QueryDict元素为数组的坑

    浅谈Django中的QueryDict元素为数组的坑

    一般在Django的视图函数中使用request.POST来获取请求体,request.POST是QueryDict类,通常作为dict来使用。 正常如下图 但是昨天在使用的时候遇到一个错误,提示从
    2020-03-31
  • Python + selenium + crontab实现每日定时自动打卡功能

    Python + selenium + crontab实现每日定时自动打卡功能

    前言 近几日迫于被辅导员三番五次的提醒每日一报打卡,就想着去写个脚本挂在服务器上定时执行。经过我不懈的努力,最终选择了seleniumseleniumselenium,因为简单(
    2020-03-31
  • python实现udp聊天窗口

    python实现udp聊天窗口

    要与对方实现通讯,有udp和tcp两种方式,像我们的qq,就是udp和tcp两种方式共存的,不过现在qq正在逐步的转化为tcp服务器. 下面是,用udp实现的聊天窗口. impor
    2020-03-31
  • Android studio实现简单的计算器

    Android studio实现简单的计算器

    本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 需求分析及概要设计 目的 开发一个简单的计算器App,使之能够完成加减乘除
    2020-03-31
  • Vue-router 报错NavigationDuplicated的解决方法

    Vue-router 报错NavigationDuplicated的解决方法

    版本:3.1.x 报错原因: 使用push()、replace()进行导航时,不能重复导航到当前路由。 解决办法: 方法1:在定义路由的文件中router/index.js const origi
    2020-03-31
  • selenium+chromedriver在服务器运行的详细教程

    selenium+chromedriver在服务器运行的详细教程

    1.前言 想使用selenium从网站上抓数据,但有时候使用phantomjs会出错。chrome现在也有无界面运行模式了,以后就可以不用phantomjs了。 但在服务器安装chrome时出现了
    2020-03-31
  • Spring boot整合Mybatis-plus过程解析

    Spring boot整合Mybatis-plus过程解析

    Mybatis初期使用比较麻烦,需要很多配置文件、实体类、dao层映射、还有很多其他的配置。初期开发使用generator可以根据表结构自动生产实体类、dao层代码,这样是可以
    2020-03-31

最新评论