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实现点击同时更改两个iframe的网址
Jul 01 Javascript
javascript判断机器是否联网的2种方法
Aug 09 Javascript
jQuery UI 实现email输入提示实例
Aug 15 Javascript
JavaScript中的prototype.bind()方法介绍
Apr 04 Javascript
jQuery实现文本框邮箱输入自动补全效果
Nov 17 Javascript
简单理解js的冒泡排序
Dec 19 Javascript
angular 用拦截器统一处理http请求和响应的方法
Jun 08 Javascript
Bootstrap-table使用footerFormatter做统计列功能
Sep 07 Javascript
vue.draggable实现表格拖拽排序效果
Dec 01 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
Apr 29 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
Aug 07 Javascript
Vue实现圆环进度条的示例
Feb 06 Vue.js
基于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
php生出随机字符串
2017/07/06 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
js加解密 脚本解密
2008/02/22 Javascript
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
Javascript中this的用法详解
2014/09/22 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
从Python程序中访问Java类的简单示例
2015/04/20 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python基础篇之初识Python必看攻略
2016/06/23 Python
Python numpy 常用函数总结
2017/12/07 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
python如何查看微信消息撤回
2018/11/27 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
Python表达式的优先级详解
2020/02/18 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
区分python中的进程与线程
2020/08/13 Python
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
单位提档介绍信
2014/01/17 职场文书
办公室主任先进事迹
2014/01/18 职场文书
安全生产活动月方案
2014/03/09 职场文书
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python