vue登录注册及token验证实现代码


Posted in Javascript onDecember 14, 2017

在大多数网站中,实现登录注册都是结合本地存储cookie、localStorage和请求时验证token等技术。而对于某些功能页面,会尝试获取本地存储中的token进行判断,存在则可进入,否则跳到登录页或弹出登录框。

而在vue单页中,我们可以通过监控route对象,从中匹配信息去决定是否验证token,然后定义后续行为。

具体实现代码如下:

1. 利用router.beforeEach钩子, 判断目标路由是否携带了相关meta信息

// router.js
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
const routes = [
 {
  path: '/',
  component: require('./views/Home'),
  meta: {
   requiresAuth: true
  }
 },
]
const router = new VueRouter({
 routes: routes
})
router.beforeEach((to, from, next) => {
 let token = window.localStorage.getItem('token') 
 if (to.matched.some(record => record.meta.requiresAuth) && (!token || token === null)) {
  next({
   path: '/login',
   query: { redirect: to.fullPath }
  })
 } else {
  next()
 }
})
export default router

2. watch route对象。原理同上。

<script>
  // App.vue
  export default {
    watch:{
      '$route':function(to,from){
        let token = window.localStorage.getItem('token');



  if (to.matched.some(record => record.meta.requiresAuth) && (!token || token === null)) {





  next({
 




  path: '/login',
 




  query: { redirect: to.fullPath }





  })




  } else {



     next()




  }
   
 }
  
}
  }
</script>

总结

以上所述是小编给大家介绍的vue登录注册及token验证实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 学习之二 属性(类)
Nov 25 Javascript
javascript 内存回收机制理解
Jan 17 Javascript
javascript权威指南 学习笔记之javascript数据类型
Sep 24 Javascript
可自己添加html的伪弹出框实现代码
Sep 08 Javascript
JavaScript合并两个数组并去除重复项的方法
Jun 13 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 Javascript
基于JQuery的购物车添加删除以及结算功能示例
Mar 08 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
vue2 router 动态传参,多个参数的实例
Nov 10 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
Jan 08 Javascript
Layui 数据表格批量删除和多条件搜索的实例
Sep 04 Javascript
原生js实现购物车功能
Sep 23 Javascript
基于vue 实现token验证的实例代码
Dec 14 #Javascript
JavaScript实现左侧菜单效果
Dec 14 #Javascript
JavaScript实现全选取消效果
Dec 14 #Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
Dec 14 #Javascript
javascript实现数字配对游戏的实例讲解
Dec 14 #Javascript
form表单数据封装成json格式并提交给服务器的实现方法
Dec 14 #Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
Dec 14 #Javascript
You might like
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
js控制文本框禁止输入特殊字符详解
2017/04/07 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
Python在图片中添加文字的两种方法
2017/04/29 Python
transform python环境快速配置方法
2018/09/27 Python
python版本五子棋的实现代码
2018/12/11 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
Python jieba库用法及实例解析
2019/11/04 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
编程实现当输入某产品代码则打印出该产品记录的功能
2014/05/03 面试题
洗煤厂厂长岗位职责
2014/01/03 职场文书
大学旷课检讨书
2014/01/28 职场文书
乡下人家教学反思
2014/02/01 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
公证处委托书
2015/01/28 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL