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 相关文章推荐
JavaScript 检测浏览器和操作系统的脚本
Dec 26 Javascript
js中document.write使用过程中的一点疑问解答
Mar 20 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
Aug 05 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
Mar 19 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
Apr 06 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
Nov 17 Javascript
jQuery实现弹出窗口弹出div层的实例代码
Jan 09 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
Oct 09 Javascript
让Vue也可以使用Redux的方法
May 23 Javascript
vueScroll实现移动端下拉刷新、上拉加载
Mar 22 Javascript
taro小程序添加骨架屏的实现代码
Nov 15 Javascript
用js实现放大镜效果
Oct 28 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
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
浅谈php冒泡排序
2014/12/30 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
Python 文件和输入输出小结
2013/10/09 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
外语系毕业生自荐信范文
2013/12/16 职场文书
哈理工毕业生的求职信
2013/12/22 职场文书
先进个人事迹材料
2014/01/25 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
大学班级学风建设方案
2014/05/01 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
校园运动会广播稿
2015/08/19 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
mysql数据库隔离级别详解
2022/06/16 MySQL