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 相关文章推荐
Expandable "Detail" Table Rows
Aug 29 Javascript
jquery中获取元素的几种方式小结
Jul 05 Javascript
js 判断一个元素是否在页面中存在
Dec 27 Javascript
javascript实现des解密加密全过程
Apr 03 Javascript
详解Javacript和AngularJS中的Promises
Feb 09 Javascript
javascript实现数组去重的多种方法
Mar 14 Javascript
JavaScript实现移动端滑动选择日期功能
Jun 21 Javascript
Vue 过滤器filters及基本用法
Dec 26 Javascript
vue中使用echarts制作圆环图的实例代码
Jul 27 Javascript
Layui弹出层 加载 做编辑页面的方法
Sep 16 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
Oct 24 Javascript
JavaScript利用html5新方法操作元素类名详解
Nov 27 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
SONY ICF-F10中波修复记
2021/03/02 无线电
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
extjs 时间范围选择自动判断的实现代码
2014/06/24 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
JavaScript基础知识之方法汇总结
2016/01/24 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
vue iview实现动态新增和删除
2020/06/17 Javascript
python的re模块应用实例
2014/09/26 Python
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
利用Python开发微信支付的注意事项
2016/08/19 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
python爬虫容易学吗
2020/06/02 Python
Python with语句用法原理详解
2020/07/03 Python
python中yield的用法详解
2021/01/13 Python
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
四风问题自查报告剖析材料
2014/02/08 职场文书
中班幼儿评语大全
2014/04/30 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
小学运动会报道稿
2015/07/22 职场文书
婚礼答谢词范文
2015/09/29 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书