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


Posted in Javascript onMarch 31, 2020

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

// 登录成功时保存一个登录状态;
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是单权限设置方法

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

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

// 路由守卫 
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 路由守卫页面登录权限内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
学习ExtJS(二) Button常用方法
Oct 07 Javascript
js DataSet数据源处理代码
Mar 29 Javascript
jQuery实现冻结表格行和列
Apr 29 Javascript
浅谈$(document)和$(window)的区别
Jul 15 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
Jan 26 Javascript
深入浅析JavaScript中的scrollTop
Jul 11 Javascript
AngularJS基础 ng-model 指令详解及示例代码
Aug 02 Javascript
关于Jquery中的事件绑定总结
Oct 26 Javascript
vue 2.0 购物车小球抛物线的示例代码
Feb 01 Javascript
checkbox在vue中的用法小结
Nov 13 Javascript
使用JS实现动态时钟
Mar 12 Javascript
js实现有趣的倒计时效果
Jan 19 Javascript
Vue-router 报错NavigationDuplicated的解决方法
Mar 31 #Javascript
js实现整体缩放页面适配移动端
Mar 31 #Javascript
react国际化化插件react-i18n-auto使用详解
Mar 31 #Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
Mar 31 #Javascript
功能完善的小程序日历组件的实现
Mar 31 #Javascript
小程序双头slider选择器的实现示例
Mar 31 #Javascript
JavaScript实现电灯开关小案例
Mar 30 #Javascript
You might like
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
使用PHP开发留言板功能
2019/11/19 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
显示js对象所有属性和方法的函数
2009/10/16 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
django 读取图片到页面实例
2020/03/27 Python
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
仲裁协议书
2014/09/26 职场文书
投资合作意向书范本
2015/05/08 职场文书
好员工观后感
2015/06/17 职场文书
2015年暑期见闻
2015/07/14 职场文书
高中生物教学反思
2016/02/20 职场文书
SQL中的连接查询详解
2022/06/21 SQL Server