vue 权限认证token的实现方法


Posted in Javascript onJuly 17, 2018

最近搞一个vue的项目,接口带了权限验证,于是乎稍微研究了一下,中间遇到的各种坑都来源于自己概念的不熟悉。

主要呢是分两步:

一是vue路由层的控制,由于项目的路由有规律可循,所以没有采用网上requireAuth那种在需要加验证的路由上配置meta(具体见:https://3water.com/article/143928.htm)

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)

const router = new Router({...})

router.beforeEach((to, from, next) => {
 if(/^\/[S|B|V]/.test(to.path)){
  if (isLogin()) {//判断token信息的自写方法
   next();
  }
  else {
   next({ name: 'login' })//跳转到登录页
  }
 }
 else {
  next();
 }
})

二是http 拦截器 ,统一处理所有http请求和响应,就得用上 axios 的拦截器。

import axios from 'axios'
// http request 拦截器
axios.interceptors.request.use(function (config) {
  config.headers.token = sessionStorage.getItem("user_token")//将接口返回的token信息配置到接口请求中
  return config;
}, function (error) {
  return Promise.reject(error);
});
// http response 拦截器
axios.interceptors.response.use(function(response){
  if(response.data.code=='1001'||response.data.code=='1002'){//具体的判断token失效的参数
    sessionStorage.setItem("user_token",'')
    sessionStorage.setItem("LoginUser",'{}')
    alert(response.data.msg);
    window.location.href='/#/login'//需求方要求一旦出错立即跳转登录,所以采取这种侵入式的手段。
  }else{
    return response
  }
}, function (error) {
  return Promise.reject(error);
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
小议Javascript中的this指针
Mar 18 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
Sep 14 Javascript
基于jquery实现即时检查格式是否正确的表单
May 06 Javascript
jQuery 中ajax异步调用的四种方式
Jun 28 Javascript
AngularJS ng-bind-template 指令详解
Jul 30 Javascript
网页中的图片查看器viewjs使用方法
Jul 11 Javascript
JS实现百度网盘任意文件强制下载功能
Aug 31 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
Sep 21 Javascript
一次微信小程序内地图的使用实战记录
Sep 09 Javascript
微信小程序3D轮播实现代码
Sep 19 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
Aug 19 Javascript
vue 实现axios拦截、页面跳转和token 验证
Jul 17 #Javascript
详解webpack import()动态加载模块踩坑
Jul 17 #Javascript
vue-router中的hash和history两种模式的区别
Jul 17 #Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
Jul 17 #Javascript
SVG实现时钟效果
Jul 17 #Javascript
JS中实现隐藏部分姓名或者电话号码的代码
Jul 17 #Javascript
基于D3.js实现时钟效果
Jul 17 #Javascript
You might like
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
2012/06/21 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
php中opendir函数用法实例
2014/11/15 PHP
PHP中文乱码解决方案
2015/03/05 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
PHP简单遍历对象示例
2016/09/28 PHP
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
python画图常规设置方式
2020/03/05 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
大学生军训自我鉴定
2014/02/12 职场文书
《口技》教学反思
2014/02/21 职场文书
暑假家长评语大全
2014/04/17 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
通讯稿格式及范文
2015/07/22 职场文书
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL