token回话保持,axios请求拦截和导航守卫以及token过期处理
1:了解token:有时候大家又说token令牌。整个机制是前端第一次登陆发送请求,后端会根据前端的用户名和密码,
通过一些列的算法的到一个token令牌,
这个令牌是独一无二的,前端每次发送请求都需要携带token令牌,因为只有携带了token令牌,后端才会返回你数据,
如果请求没有token令牌,后端是无法给你数据的。 2:token令牌进行回话保持:第一次登陆时候,后端会返回token令牌,保存在前段,之后每次页面跳转之前获取,
在的导航守卫中拦截判断,如果没有那么就重定向到首页,有的话就放行。 3:在axios请求中配置token:在全局配置的token并不是用作回话保持的,他的作用就是后端获取token,
用作判断,返回数据。axios的请求拦截是配置参数的,
跟回话保持没有关系,跟回话保持有关系的是全局的导航守卫。 4:第一次登陆,在后端返回的数据中把token先存在浏览器中,然后进行路由跳转,
所以在导航守卫的拦截中已经可以获取到第一次登陆的token,第一次登陆是可以判断的。 5:token过期处理 每次请求前端有携带token,后端会验证token,如果过期后端返回一个字段,
前端可以根据字段判断
后端每次接受前端请求的时候都会验证token是否过期,过期了返回一个过期标志,
如code=2(0:success;1:error;2:unlogin),前端根据这些状态码去进行重新登录就行了
这个操作可以在axios响应拦截中操作。
// http response 拦截器
axios.interceptors.response.use(
response => {
return response;
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:
//这里跳转登陆
.....
}
});
token回话保持,axios请求拦截和导航守卫以及token过期处理的更多相关文章
- vue 路由拦截、axios请求拦截
路由拦截 项目中,有些页面需要登录后才能进入,例如,在某页面A,用户在操作前需要先进入登录页(此时需要将上一页的地址(/survey/start)作为query存入login页面的地址中,如: htt ...
- vue中前端处理token过期的方法与axios请求拦截处理
在处理token过期的这个问题上困扰了我很久,现在终于解决的了,所以分享出来给大家,希望能够对大家有所帮助. 首先,当然是路由进行拦截,路由拦截当然是在beforeEach中了: router.bef ...
- axios请求拦截及请求超时重新请求设置
自从使用Vue2之后,就使用官方推荐的axios的插件来调用API,在使用过程中,需要解决问题: 1. 请求带token校验 2. post请求请求体处理 3. 响应未登录跳转登录页处理 4. 响应错 ...
- axios请求,拦截器的使用
1. axios 创建请求 import axios from 'axios' import {Message} from 'element-ui' import router from " ...
- vue/axios请求拦截
import axios from 'axios';import { Message } from 'element-ui';import Cookies from 'js-cookie';impor ...
- axios请求拦截器
import axios from 'axios'; // 创建axios实例 let service = null; if (process.env.NODE_ENV === 'deve ...
- axios请求拦截器(修改Data上的参数 ==>把data上的参数转为FormData)
let instance = axios.create({ baseURL: 'http://msmtest.ishare-go.com', //请求基地址 // timeout: 3000,//请求 ...
- axios源码解析 - 请求拦截器
axios请求拦截器,也就是在请求发送之前执行自定义的函数. axios源码版本 - ^0.27.2 (源码是精简版) 平时在业务中会这样去写请求拦截器,代码如下: // 创建一个新的实例 var s ...
- axios请求的封装
/* axios的请求封装 */ //axios的原生写法get,post请求 //第一个参数为请求地址,第二个参数为请求的参数,params是将参数拼接在url的后面 ...
随机推荐
- Exp3 免杀原理与实践 20164313
基础 AV厂商检测恶意软件的三种主流方式: 基于特征码的检测 启发式恶意软件检测 基于行为的恶意软件检测 实现免杀就是防止恶意软件被这是三种方式找到.具体手段为: 改变特征码 改变行为 非常规恶意软件 ...
- centos7配置网易yum源
部分参考centos6: https://blog.csdn.net/jinzhencs/article/details/53673999 下载yum: https://www.cnblogs.co ...
- SQL SERVER 死锁
sp_lock 查看锁表名称 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableNamefr ...
- 深度学习原理与框架-图像补全(原理与代码) 1.tf.nn.moments(求平均值和标准差) 2.tf.control_dependencies(先执行内部操作) 3.tf.cond(判别执行前或后函数) 4.tf.nn.atrous_conv2d 5.tf.nn.conv2d_transpose(反卷积) 7.tf.train.get_checkpoint_state(判断sess是否存在
1. tf.nn.moments(x, axes=[0, 1, 2]) # 对前三个维度求平均值和标准差,结果为最后一个维度,即对每个feature_map求平均值和标准差 参数说明:x为输入的fe ...
- Appium基础知识与环境搭建
基础知识: 环境搭建: 1.安装jdk,配置java环境变量 (1)新建变量"JAVA_HOME",变量值"D:\Frameworks\Java\jdk1.8.0_18 ...
- 爬虫之scrapy入门
1.介绍 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的 ...
- mongodb安装使用简单命令
.window+x,A,管理员进入cmd.cd C:\Program Files\MongoDB\Server\3.4\bin.安装:mongod --dbpath "D:\work\DB\ ...
- Halcon知识点随记(每日更新)
部分积累自重码网视频 1.dev_update_off.dev_update_on 一般dev_update_off放在开始,dev_update_on放在程序结束 dev_update_window ...
- vue+el-menu设置了router之后如何跳转到外部链接
<el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="c ...
- laravel view not found
在windows开发的laravel项目,部署到Linux服务器找不到视图,代码格式可能是这样的 return view('news\list'); 原因是在Linux下不能识别反斜杠路径,解决办法是 ...