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 相关文章推荐
List the Stored Procedures in a SQL Server database
Jun 20 Javascript
读jQuery之六 缓存数据功能介绍
Jun 21 Javascript
javascript简单性能问题及学习笔记
Feb 04 Javascript
理解Javascript的动态语言特性
Jun 17 Javascript
Javascript实现鼠标右键特色菜单
Aug 04 Javascript
基于javascript代码实现通过点击图片显示原图片
Nov 29 Javascript
javascript针对cookie的基本操作实例详解
Nov 30 Javascript
微信小程序实现打开内置地图功能【附源码下载】
Dec 07 Javascript
前端Vue项目详解--初始化及导航栏
Jun 24 Javascript
基于vue.js实现购物车
Jan 15 Javascript
JS实现密码框效果
Sep 10 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
Nov 17 Vue.js
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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
PHP出错界面
2006/10/09 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
Python实现的桶排序算法示例
2017/11/29 Python
英国儿童图书网站:Scholastic
2017/03/26 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
几个MySql的面试题
2013/04/22 面试题
大学生水文观测实习自我鉴定
2013/09/29 职场文书
初中美术教学反思
2014/01/29 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
物理教育专业求职信
2014/06/25 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
出差报告怎么写
2014/11/06 职场文书
2016公司年会主持词
2015/07/01 职场文书
九年级历史教学反思
2016/02/19 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
go语言中http超时引发的事故解决
2021/06/02 Golang