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 刷新页面的代码小结 推荐
Apr 02 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
Apr 21 Javascript
省市区三级联动下拉框菜单javascript版
Aug 11 Javascript
微信小程序 视图容器组件的详解及实例代码
Jan 19 Javascript
Angualrjs和bootstrap相结合实现数据表格table
Mar 30 Javascript
浅谈关于axios和session的一些事
Jul 13 Javascript
关于Stream和Buffer的相互转换详解
Jul 26 Javascript
详解用node搭建简单的静态资源管理器
Aug 09 Javascript
Angular 开发学习之Angular CLI的安装使用
Dec 31 Javascript
VUE 实现滚动监听 导航栏置顶的方法
Sep 11 Javascript
Vue组件实现触底判断
Jun 26 Javascript
在Angular项目使用socket.io实现通信的方法
Jan 05 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
将数组写入txt文件 var_export
2009/04/21 PHP
PHP无敌近乎加密方式!
2010/07/17 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
Js callBack 返回前一页的js方法
2008/11/30 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
javaScript中"=="和"==="的区别详解
2018/03/16 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
详解JavaScript 的执行机制
2020/09/18 Javascript
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
Python中使用遍历在列表中添加字典遇到的坑
2019/02/27 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
小学生安全保证书
2014/02/01 职场文书
幼儿教育感言
2014/02/05 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
物资采购方案
2014/06/12 职场文书
体育馆的标语
2014/06/24 职场文书
民间借贷被告代理词
2015/05/23 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫