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 相关文章推荐
求解开jscript.encode代码的asp函数
Feb 28 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
Jun 23 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
Jun 27 Javascript
不提示直接关闭网页窗口的JS示例代码
Dec 17 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 Javascript
jQuery+HTML5实现图片上传前预览效果
Aug 20 Javascript
JavaScript事件处理的方式(三种)
Apr 26 Javascript
30分钟快速掌握Bootstrap框架
May 24 Javascript
微信小程序 配置文件详细介绍
Dec 14 Javascript
微信小程序 自己制作小组件实例详解
Dec 22 Javascript
jquery表单提交带错误信息提示效果
Mar 09 Javascript
element-ui点击查看大图的方法示例
Dec 14 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
怎样辨别一杯好咖啡
2021/03/03 新手入门
如何在PHP中使用正则表达式进行查找替换
2013/06/13 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
图片完美缩放
2006/09/07 Javascript
htm调用JS代码
2007/03/15 Javascript
input 高级限制级用法
2009/03/26 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
js实现选项卡效果
2020/03/07 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
详解详解Python中writelines()方法的使用
2015/05/25 Python
Python机器学习之决策树算法
2017/12/22 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
python绘制玫瑰的实现代码
2020/03/02 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
2020/03/03 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
机电一体化专业应届生求职信
2013/11/27 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
保险公司演讲稿
2014/09/02 职场文书
安全学习心得体会范文
2016/01/18 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
Java线程的6种状态与生命周期
2022/05/11 Java/Android