vue登录路由验证的实现


Posted in Javascript onDecember 13, 2017

vue的项目的登录状态如果用vuex状态管理,页面一刷新vuex管理的状态就会消失,这样登录路由验证就没有意义了。可以将登录的状态写到web Storage中进行存储管理。

步骤如下:

1、在登录组件里,将登录状态写入web Storage里。(一般写入session Storage,会话关闭,存储数据自动删除)

if('登录成功') 
 {sessionStorage.setItem('accessToken' , 写入登录成功返回的登录令牌或者自定义的判断字符串) }

2、在需要登录验证的路由元信息里加入登录验证标识requiresAuth(自定义)    
[html] view plain copy

routers: [ 
      { path: '/listInfo', 
         name: 'listInfo', 
         component: listInfo, 
         meta: { requiresAuth: true  
               } 
          } 
       ]

3、在全局钩子函数beforeEach中验证页面是否需要登录            

router.beforeEach((to, from, next) => {  
    //to即将进入的目标路由对象,from当前导航正要离开的路由, next : 下一步执行的函数钩子
    if(to.path === '/login') { next() } // 如果即将进入登录路由,则直接放行
     else {   //进入的不是登录路由
         if(to.meta.requiresAuth && !sessionStorage.getItem('accessToken')) {next({ path: '/login' })} 
       //下一跳路由需要登录验证,并且还未登录,则路由定向到 登录路由
       else { next() }} 
      //如果不需要登录验证,或者已经登录成功,则直接放行
    }

 注意点:beforeEach这个全局钩子要放到全局组件的前面,放到全局组件的后面,Vue实例已经加载完成。这时候直接在浏览器的地址栏输入要去的路由,则不会定向到登录路由。 

vue登录路由验证的实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery Ajax之load()方法
Oct 12 Javascript
js实现上传图片之上传前预览图片
Mar 25 Javascript
js获取键盘按键响应事件(兼容各浏览器)
May 16 Javascript
jQuery中before()方法用法实例
Dec 25 Javascript
不同编码的页面表单数据乱码问题解决方法
Feb 15 Javascript
JSONObject使用方法详解
Dec 17 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
Apr 27 Javascript
BootStrap实现鼠标悬停下拉列表功能
Feb 17 Javascript
PHP实现本地图片上传和验证功能
Feb 27 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
vue iview组件表格 render函数的使用方法详解
Mar 15 Javascript
Vue表情输入组件 微信face表情组件
Feb 11 Javascript
vue按需加载组件webpack require.ensure的方法
Dec 13 #Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 #Javascript
vue组件中使用iframe元素的示例代码
Dec 13 #Javascript
vue中路由验证和相应拦截的使用详解
Dec 13 #Javascript
vue实现nav导航栏的方法
Dec 13 #Javascript
vue实现导航栏效果(选中状态刷新不消失)
Dec 13 #Javascript
仿京东快报向上滚动的实例
Dec 13 #Javascript
You might like
第八节 访问方式 [8]
2006/10/09 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
浅谈php处理后端&接口访问超时的解决方法
2016/10/29 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
JSONP之我见
2015/03/24 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
Python金融数据可视化汇总
2017/11/17 Python
python3爬取数据至mysql的方法
2018/06/26 Python
我就是这样学习Python中的列表
2019/06/02 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
python 实现两个npy档案合并
2020/07/01 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
美国在线家具网站:GDFStudio
2021/03/13 全球购物
应聘美工求职信
2013/11/07 职场文书
2013年军训通讯稿
2014/02/05 职场文书
机修工工作职责
2014/02/21 职场文书
竞聘上岗演讲
2014/05/19 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书
mysql数据库隔离级别详解
2022/06/16 MySQL