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 相关文章推荐
iframe 异步加载技术及性能分析
Jul 19 Javascript
在jQuery ajax中按钮button和submit的区别分析
Oct 07 Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 Javascript
首页图片漂浮效果示例代码
Jun 05 Javascript
JavaScript常用验证函数实例汇总
Nov 25 Javascript
javascript实现的右下角弹窗实例
Apr 24 Javascript
JavaScript时间操作之年月日星期级联操作
Jan 15 Javascript
浅谈jquery点击label触发2次的问题
Jun 12 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
Nov 01 Javascript
微信小程序自定义导航栏实例代码
Apr 05 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
Mar 31 Javascript
原生JavaScript实现幻灯片效果
Feb 19 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数据库连接
2006/10/09 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
javascript AutoScroller 函数类
2009/05/29 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
AngularJS 异步解决实现方法
2017/06/12 Javascript
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
Python列表(list)常用操作方法小结
2015/02/02 Python
Python科学计算之Pandas详解
2017/01/15 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
python实现简单井字棋游戏
2020/03/04 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
Python绘制数码晶体管日期
2021/02/19 Python
市场专员岗位职责
2014/02/14 职场文书
静心口服夜广告词
2014/03/20 职场文书
环保建议书300字
2014/05/14 职场文书
人事行政经理岗位职责
2014/06/18 职场文书
好的促销活动方案
2014/08/21 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
优秀团员自我评价
2015/03/10 职场文书
花木兰观后感
2015/06/10 职场文书
详解Vue的options
2021/05/15 Vue.js
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android