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选中或取消radio示例
Sep 29 Javascript
javascript操作html控件实例(javascript添加html)
Dec 02 Javascript
javascript简单性能问题及学习笔记
Feb 04 Javascript
jQuery中unbind()方法用法实例
Jan 19 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 Javascript
JQuery和HTML5 Canvas实现弹幕效果
Jan 04 Javascript
Canvas 绘制粒子动画背景
Feb 15 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
Mar 09 Javascript
jQuery表单验证之密码确认
May 22 jQuery
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 Javascript
JavaScript Window浏览器对象模型原理解析
May 30 Javascript
解决antd Form 表单校验方法无响应的问题
Oct 27 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
社区(php&amp;&amp;mysql)一
2006/10/09 PHP
discuz7 phpMysql操作类
2009/06/21 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
php pki加密技术(openssl)详解
2013/07/01 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
php多文件打包下载的实例代码
2017/07/12 PHP
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
2014年两会学习心得范例
2014/03/17 职场文书
企业安全生产承诺书
2014/05/22 职场文书
论文诚信承诺书
2014/05/23 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
民主生活会汇报材料
2014/12/15 职场文书
领导欢迎词致辞
2015/01/23 职场文书
单位更名证明
2015/06/18 职场文书
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python