vue --- http拦截,登录登出的逻辑设计
设计
- 在src目录下创建一个interceptor.js
- 登录逻辑
- 设置拦截,在发起请求前,先判断用户是否登录(在本栗中,即是否能够在浏览器缓存中找到token).
- 登出逻辑
- 对服务端传过来的数据进行拦截,判断其状态码是否为401(未登录或token过期)
- 清空浏览器缓存中的token
- 重定向到登入页面
- interceptor.js
const axios = require('axios');// 参数是Vue实例
export default function(vm) {// 设置请求拦截器axios.interceptors.request.use(config => {// 获取tokenconst token = localStorage.getItem('token');if (token) { // 如果存在令牌则添加token请求头// config.headers.token = token; // 注: 使用Bearer Token规范config.headers.Authorization = `Bearer ${token}`;}return config;})// 响应拦截器axios.interceptors.response.use(null, err => {if (err.response.status === 401) { // 没有登录,或者令牌过期// 清空vuex和localstoragevm.$store.dispatch('logout');// 跳转loginvm.$router.push('/login');}return Promise.reject(err);})
}
拦截使用
- main.js
import Vue from 'vue'
import './cube-ui'
import App from './App.vue'
import router from './router'
import store from './store'
import interceptor from './interceptor'Vue.config.productionTip = false// 拦截器的初始化const app = new Vue({router,store,render: h => h(App)
}).$mount('#app')interceptor(app);
vue --- http拦截,登录登出的逻辑设计相关推荐
- 从零开始java安全权限框架篇(一):spring security配置登录登出的配置
目录 一:安全权限框架的选取 二:功能 三:登录登出 四:代码注释 1.将登陆交由Spring security完成 2.前台明文密码加密,与数据库比对 3.关键配置 4.自定义用户异常 5.ajax ...
- 网易云信集成视频教程(四):如何快速实现iOS登录登出?
上期我们介绍了如何通过SDK实现自定义消息,第四期视频教程我们将教大家如何快速实现iOS系统下IM登录登出. 第四期 如何快速实现iOS登录登出? 8分钟视频手把手教你接入 文档详解 前期准备 1. ...
- 网易云信集成视频教程(一):如何快速实现安卓登录登出?
由于网易云信稳定.可靠的技术服务以及拥有深厚积淀的行业口碑,越来越多用户集成云信IM和音视频功能.为了提升用户集成效率,我们推出了一系列网易云信集成视频教程,希望帮助用户快速实现功能接入.第一期将为大 ...
- CAS 单点登录/登出 系统
前言: 在我们的实际开发中,更多的是采用分布式系统.那么问题来了,对于分布式系统的登录问题,我们如何解决呢? 如果说我们在每一个系统中都要进行一次登录,那么用户体验度也就差的没法用了.以京东商城为例, ...
- [django项目] 实现用户登录登出功能
用户登录登出功能 I. 功能需求分析 1>功能分析 1.1>流程图 1.2>功能接口 登录页面 登录功能 退出功能 II. 登陆页面 1>接口设计 1.1>接口说明 类目 ...
- linux 执行程序 注销,Linux登录登出的过程 | Soo Smart!
最近一直遇到crontab执行脚本和手动执行结果不一样的问题.根据添加的echo语句已经确定crontab能够准时执行任务,可是脚本里的程序不能正确执行.唯一能确定的是环境变量问题,可是即使明确地写上 ...
- java php 单点登陆,cas实现单点登录,登出(java跟php客户端)(转)
cas实现单点登录,登出(java跟php客户端)(转)cas实现单点登录,登出(java和php客户端) (转) 最近项目中需要做单点登录,客户端包含java和php,java有几个应用程序,php ...
- ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程
ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单 ...
- SpringBoot登录登出切面开发
阅读本文约"2.5分钟" 本文开发环境是SpringBoot2.X版本. 对于系统而言(这里多指管理系统或部分具备登录登出功能的系统),登录登出是一个类权限验证的过程,现在一般是以 ...
最新文章
- IDC发布对话式人工智能白皮书|附下载
- 新国货美妆品牌数字营销能力升级“三步法”
- vue前端怎么导出图片_vue前端实现导出表格
- ES中搜索结果各属性说明介绍,以及搜索中的timeout机制讲解(来自学习资料,34节)
- sublimText3在ubuntu下的中文支持
- openHEVC在Windows下构建vs32/64位工程(vs2013)
- A useful link to learn PDF
- linux 开源oa系统,linux版64位免费OA办公系统4.17
- 小米5miui10android,小米8 Miui10.3 最新稳定版(10.3.5.0 9.0) 快过闪电 AI 人性化设置 冰箱 流畅 实用...
- dijkstra 路径搜索算法的c++简单实现
- 足球相声:我现在真的火了
- 停车还能360全方位影像_什么是360全景?
- 热血仙境服务器修改,热血仙境安卓首发服务器爆红 - 07073手机游戏
- nmap架构图_Nmap扫描教程之Nmap基础知识
- ffmpeg给视频添加文本
- Android 10 添加安装白名单和卸载黑名单
- MySQL数据库 锁
- MATLAB2018a Simulink生成CCS代码教程
- MAPE 平均绝对百分误差
- C#字母与ASCII码的转换
热门文章
- windows python安装opencv_关于OpenCV-Python安装(缺少ffmpeg):OpenCV-Python安装(缺少ffmpeg)-Windows...
- 参数调优为什么要采样_3年Java外包,内推阿里过关斩将,最后却倒在调优经验上! - Java架构师追风...
- altium pcb 信号高亮_在PCB设计中高效的放置元件技巧
- 网关和路由器的区别_5G工业路由器与5G DTU的区别介绍详解
- 李宏毅机器学习课程8~~~keras
- 机器学习之 weka学习(二)算法说明
- Anaconda3自带jupyter
- js实现替换指定字符后面的内容(包括指定字符)
- 20172325 2018-2019-1 《Java程序设计》第二周学习总结
- FileReader/FileWriter复制文件