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 相关文章推荐
js运动框架_包括图片的淡入淡出效果
May 11 Javascript
js 将json字符串转换为json对象的方法解析
Nov 13 Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 Javascript
AngularJS中的Directive自定义一个表格
Jan 25 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
JavaScript 链式结构序列化详解
Sep 30 Javascript
详解vue中引入stylus及报错解决方法
Sep 22 Javascript
Vue.js中对css的操作(修改)具体方式详解
Oct 30 Javascript
jQuery时间戳和日期相互转换操作示例
Dec 07 jQuery
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 Javascript
vue 清空input标签 中file的值操作
Jul 21 Javascript
JavaScript实现网页留言板功能
Nov 23 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
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
删除重复数据的算法
2006/11/23 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
深入理解Node module模块
2018/03/26 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
vue实现计算器功能
2020/02/22 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
Python的Tornado框架异步编程入门实例
2015/04/24 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
基于python实现删除指定文件类型
2020/07/21 Python
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
客服工作职责
2013/12/11 职场文书
简短大学毕业感言
2014/01/18 职场文书
法院信息化建设方案
2014/05/21 职场文书
龙猫观后感
2015/06/09 职场文书
SpringBoot 集成Redis 过程
2021/06/02 Redis
python四种出行路线规划的实现
2021/06/23 Python
Java常用函数式接口总结
2021/06/29 Java/Android
angular异步验证器防抖实例详解
2022/03/31 Javascript
win10更新失败无限重启解决方法
2022/04/19 数码科技