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 相关文章推荐
List the Stored Procedures in a SQL Server database
Jun 20 Javascript
javascript 跳转代码集合
Dec 03 Javascript
javascript使用activex控件的代码
Jan 27 Javascript
jquery调用asp.net 页面后台的实现代码
Apr 27 Javascript
js jquery获取随机生成id的服务器控件的三种方法
Jul 11 Javascript
浅谈Jquery为元素绑定事件
Apr 27 Javascript
详解Backbone.js框架中的模型Model与其集合collection
May 05 Javascript
js实现将json数组显示前台table中
Jan 10 Javascript
鼠标经过出现气泡框的简单实例
Mar 17 Javascript
javascript input输入框模糊提示功能的实现
Sep 25 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
Sep 23 Javascript
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 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
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
Javascript 跨域访问解决方案
2009/02/14 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
2015/11/24 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
python实现的简单文本类游戏实例
2015/04/28 Python
对于Python装饰器使用的一些建议
2015/06/03 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
Python读取表格类型文件代码实例
2020/02/17 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
Python中return函数返回值实例用法
2020/11/19 Python
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
医校毕业生自我鉴定
2014/01/25 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
2014年向国旗敬礼活动方案
2014/09/27 职场文书
单位接收函格式
2015/01/30 职场文书
外国人来华邀请函
2015/01/31 职场文书