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 tools之tooltip
Jul 25 Javascript
JQuery 应用 JQuery.groupTable.js
Dec 15 Javascript
扩展JavaScript功能的正确方法(译文)
Apr 12 Javascript
jQuery中$.extend()用法实例
Jun 24 Javascript
Javascript获取统一管理的提示语(message)
Feb 03 Javascript
JavaScript数组方法总结分析
May 06 Javascript
js拖拽功能实现代码解析
Nov 28 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
Feb 18 Javascript
移动端web滚动分页的实现方法
May 05 Javascript
妙用Angularjs实现表格按指定列排序
Jun 23 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
Mar 01 Javascript
element-ui表格合并span-method的实现方法
May 21 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
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
php数组随机排序实现方法
2015/06/13 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
javascript Array对象基础知识小结
2010/11/16 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
2014/01/07 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
2014/03/06 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
python实现每次处理一个字符的三种方法
2014/10/09 Python
Python pymongo模块用法示例
2018/03/31 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
厨房领班竞聘演讲稿
2014/04/23 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
向女朋友道歉的话
2015/01/20 职场文书
董事长助理岗位职责
2015/02/11 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android