flask 请求勾子实现 request_auth认证

from flask import g,request
from comment.utils.tokens_pyjwt import verify_tokensdef jwt_request_auth():'''从请求(request)中获取token,并且验证token,验证成功之后把用户id保存到全局变量g中'''g.user_id=None		#定义变量#前端代码是是把token携带请求头中#获取tokentoken=request.headers.get('token')#判断是否有tokenif token is not None:#如果token存在,开始校验tokenresult=verify_tokens(token)#校验通过后,result返回一个字典,字典包括id和expif 'id' in result:#只要字典中包含id,表示校验成功g.user_id=result['id']

1.定义请求钩子函数:在请求进来之前得到request中携带的token,开始验证token

comment--utils-- request_auth.py

from comment.utils.request_auth import jwt_request_authapp.before_request(jwt_request_auth)

2.注册token认证的请求钩子,每一次请求之前都会做token的认证

info—__init__.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/190725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio Code之自动补全的设置

步骤:1、打开Visual Studio Code;2、找到c_cpp_properties.json文件;3、将原来文件的内容清空,复制以下内容到此文件中即可; {"configurations": [{"name": "Linux","includePath…

基于Spring、SpringMVC、MyBatis的网上服装销售系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring、SpringMVC、MyBatis的网上服…

Unity对接后台和加载图片

1、前言 在unity中与后台对接,用await在web端暂时还不支持,所以,协程成为比较好的通用方式,以下适用除post访问外的所有对接 2、对接后台 2.1、安装插件 首先我们需要用到Newtonsoft.dll,如果没有这个.dll的请跟着我…

C++-火车编组

Description 货运火车要在编组站根据挂常车厢到达目的地重新分组。 如果一列火车有4节车厢,经过编组后,车厢的编组顺序为3,2,4,1,你知道编组站是怎么编组的吗? 小明到编组站参观后发现编组站的铁路有很多岔道,火车在岔道上来来回回地开动…

Linux随记(七)

一、欧拉bclinux 21.10安装zabbix-5.0.37.tar.gz (zbx-客户端) #系统环境: BigCloud Enterprise Linux For Euler 21.10 LTS #软件信息: zabbix-5.0.37.tar.gz , pcre-devel-8.44-2.oe1.x86_64.rpm , inst…

LED屏幕信息安全如何预防?

随着科技的不断进步,LED屏幕在我们生活和工作中扮演着越来越重要的角色,然而,随之而来的是信息安全面临的挑战。为了有效预防LED屏幕信息的泄露和被盗取,我们需要采取一系列的安全措施。以下是一些建议: 物理安全措施&…

用C++和python混合编写数据采集程序?

之前看过一篇文章,主要阐述的就是多种语言混合编写爬虫程序,结合各种语言自身优势写一个爬虫代码是否行得通?觉得挺有意思的,带着这样的问题,我尝试着利用我毕生所学写了一段C和python混合爬虫程序,目前运行…

对于Windows就是找不到 环境变量 的解决

我认为将“我的电脑”从桌面上隐藏掉纯粹是傻逼行为 说下解决办法: 1. 找到文件资源管理器, 2. 右键点击“此电脑” -- 选择属性: 3. 进入属性界面,应该进入的是“关于”界面:选择“高级系统设置”: 4. 终…

ssm+vue的罪犯信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的罪犯信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

STM32---MDK工程创建

本节我们带领大家学习如何新建一个寄存器库版本MDK的详细步骤; 由于51单片机的学习时,所涉及的寄存器很少,所以往往几个头文件、驱动文件就可以完成相关的功能,但是对于STM32来讲,涉及的寄存器、头文件等都很多&#…

导入seaborn的数据集方法load_datasets的问题

sns.load_dataset使用报错解决URLError: <urlopen error [Errno 11004] getaddrinfo failed>(windows)) import seaborn as sns import matplotlib.pyplot as plt ​ # 使用Seaborn自带的数据集 tips sns.load_datas…

nodejs使用node-cron实现定时任务功能

ChatGPT国内站点:海鲸AI 在Node.js中,node-cron是一个轻量级的任务调度库,它允许你根据类似于Cron的时间表来安排任务的执行。如果你想要每十分钟执行一次任务,你可以按照以下步骤来设置: 安装node-cron: 如…

Filebeat使用指南

Filebeat介绍主要优势主要功能配置日志的解析Kibana中设置日志解析安装步骤安装Filebeat安装监控通过prometheus监控 Filebeat和Logstash的主要区别 Filebeat介绍 Filebeat是使用Golang实现的轻量型日志采集器,也是Elasticsearch stack的一员。它可以作为一个agent…

Kubernetes 使用插件扩展 kubectl

例子演示 编写 kubectl-foo ,拷贝至 /usr/local/bin/ #!/bin/bash# 可选的参数处理 if [[ "$1" "version" ]] thenecho "1.0.0"exit 0 fi# 可选的参数处理 if [[ "$1" "config" ]] thenecho $KUBECONFIGexit…

CSS BFC特性和应用

目录 1,介绍2,BFC布局规则3,创建BFC4,BFC应用1,浮动子元素使父级高度坍塌2,非浮动元素被浮动元素覆盖3,margin 合并1,父子 margin 合并:父级和第1个/最后1个子元素2&…

深度学习之基于Django文本情感分析识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习在文本情感分析领域的应用已经取得了显著的进展。Django是一个流行的Python Web框架,它可以帮助…

代码随想录算法训练营第39天| 62.不同路径 63. 不同路径 II

JAVA代码编写 62.不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不…

Linux常用命令汇总

文章目录 Linux系统命令内存相关文件相关 GitGit常用的shell脚本 整理如下,随时补充更新: Linux系统命令 内存相关 # 查看内存占用最高的进程 ps aux --sort-%mem | head ps aux --sort-%cpu | headtop,按照M按照内存排序,按下…

灰度发布专题---3、Nginx+Lua灰度发布

上一章已经讲解了配置文件灰度发布、应用版本灰度发布、API网关灰度发布实现,但如果用户这时候在代理层如何做灰度发布呢? 代理层灰度发布分析 用户无论访问应用服务还是静态页,都要经过Nginx代理层,我们可以在Nginx这里做灰度发…

JWT和Session的区别

目录 1. 存储位置 2. 扩展性和分布式系统 3. 安全性 4. 携带方式 当涉及用户身份验证和授权时,JSON Web Token(JWT)和会话(Session)是两种常见的解决方案。它们有着不同的工作原理和特点。 一、JWT是一种开放标准…