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 解析后的xml对象的读取方法细解
Jul 25 Javascript
javascript cookies 设置、读取、删除实例代码
Apr 12 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
Sep 29 Javascript
使用Sticker.js实现贴纸效果
Jan 28 Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
Mar 01 Javascript
Jquery为DIV添加click事件的简单实例
Jun 02 Javascript
AngularJS中watch监听用法分析
Nov 04 Javascript
vue router路由嵌套不显示问题的解决方法
Jun 17 Javascript
js HTML DOM EventListener功能与用法实例分析
Apr 27 Javascript
javascript实现用户必须勾选协议实例讲解
Mar 24 Javascript
JavaScript实例 ODO List分析
Jan 22 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中变量及部分适用方法
2008/03/27 PHP
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
bootstrap datetimepicker控件位置异常的解决方法
2017/11/23 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
Python中将字典转换为列表的方法
2016/09/21 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
Python列表如何更新值
2020/05/27 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
行政专员的岗位职责
2014/03/10 职场文书
道路交通安全实施方案
2014/03/12 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
病媒生物防治方案
2014/05/13 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers