18-使用钩子函数判断用户登录权限-登录前缀

news2024/11/25 0:22:35

钩子函数的两种应用:

        (1). 应用在app上

before_first_request
before_request
after_request
teardown_request

        (2). 应用在蓝图上

before_app_first_request  #只会在第一次请求执行,往后就不执行, (待定,此属性没调试通过)
before_app_request  # 每次请求都会执行一次(重点)
after_app_request # 每次响应返回都会执行
teardown_app_request # 每次请求响应结束后执行,收尾

代码实例:

# 应用在app上的钩子函数
 
required_login_list = ["/user/center",
                       "/user/change",
                       "/article/publish",
                       '/user/upload_photo',
                       '/user/photo_del',
                       '/article/add_comment',
                       '/user/aboutme',
                       "/user/showabout", ]
 
 
# 每次请求都会执行一次(重点)
@user_bp1.before_app_request
def first_reqeust():
    print("before_app_request", request.path)
    if request.path in required_login_list:
        id = session.get("uid")
        if not id:
            return render_template('users/login.html')
        else:
            user = User.query.get(id)
            # g对象, 本次请求的对象;本次请求的全局对象,过了本次就失效
            g.user = user
 
# 每次响应返回都会执行
@user_bp1.after_app_request
def after_request_test(response):
    response.set_cookie("a", "bbb", max_age=19)
    print("after_app_request")
    return response
 
 
# 每次请求响应结束后执行,收尾
@user_bp1.teardown_app_request
def teardown_request_test(response):
    print("teardown_request_test")
    return response

        (1). 设置钩子函数,请求指定路径时校验session

 

         (2).  登录页面设置session

 

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

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

相关文章

运维Shell脚本小试牛刀(一)

一: Shell中循环剖析....... #!/bin/bash - # # # # FILE: countloop.sh # USAGE: ./countloop.sh # DESCRIPTION: # OPTIONS: ------- # REQUIREMENTS: --------- # # BUGS: ------ # N…

日常生活小技巧 -- 单位换算

开发过程中经常需要需要单位换算的地方。 可以使用工具进行转换: 工具:单位转换 常用单位: 1、角度转换 1弧度(rad) 180/PI 度(deg) 57.29577951308232 度(deg) 1度…

开学有哪些电容笔值得买?性价比高的触控笔推荐

要知道,一款苹果原装电容笔,售价都要接近一千多块钱。事实上,对于那些没有很多预算的人来说,平替电容笔是一个很好的选择。一支苹果的电容笔,比平替电容笔贵了四倍,但比起苹果的原装电容笔,书写…

大模型理解之CLIP

前言 2021年2月份,CLIP模型被提出,想法很简单,性能高效,而且具备很好的泛化性。我在这里简单谈论下我对CLIP模型的理解,以及发现的一些问题。 我是在沐神的视频中了解的CLIP, 里面提到CLIP最大的贡献在于打破了固定类…

【HCIP】17.MPLS VPN

MPLS VPN 不是一个技术,是一堆技术的集合,是一种解决方案 什么是VPN?虚拟专用网络 能够解决公司之间互联的一种技术,在原始的报文上面再重新封装一个或者多个全新的头部,完成在公共网络上的传递 裸纤(每…

【VScode推理模型部署】ONNX runtime

推理模型部署(一):ONNX runtime 实践 VSCode配置之OnnxRuntime(CPU) && YOLOv7验证 简单来说,对于机器学习模型过程可分为训练迭代和部署上线两个方面: 训练迭代,即通过特定的数据集、模型结构、损失函数和评价指标的确…

新生应如何在线确认录取结果和提交入学资料?

马上就要开学啦,学生还没到校的时候,老师如何让学生查询完录取结果,并且向老师确认自己已经查看过呢?最好还能直接提交入学资料,这样就不用开了学现场一个一个写,费时又费力。 老师们可以使用易查分制作一…

为你解决在Mybatis中的疑惑?Mybatis中【关联关系映射】

一.介绍Mybatis中【关联关系映射】 1.什么是Mybatis中【关联关系映射】? 可以实现不同实体之间的关联查询和映射。关联关系映射可以将多个实体对象之间的关联关系通过数据库查询进行映射,实现对象之间的关联操作。 2.常见的Mybatis【关联关系映射】 2.…

(1)进程间常见的几种通信方式

文章目录 进程间的通行方式一、管道模型二、消息队列模型三、共享内存四 信号量机制五、socket 进程间的通行方式 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内…

Python“牵手”淘宝商品列表数据,关键词搜索淘宝API接口数据,淘宝API接口申请指南

淘宝平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范,淘宝API接口是指通过编程的方式,让开发者能够通过HTTP协议直接访问淘宝平台的数据,包括商品信息、店铺信息、物流信息等,从而实现淘宝平台…

大数据-玩转数据-Flink 水印

一、Flink 中的水印 在Flink的流式操作中, 会涉及不同的时间概念: 1.1 处理时间 是指的执行操作的各个设备的时间,对于运行在处理时间上的流程序, 所有的基于时间的操作(比如时间窗口)都是使用的设备时钟。比如, 一个长度为1个小时的窗口将会包含设备…

去掉vue项目运行时中出现的黄色警告

最近在写vue项目时发现想测试一个接口行不行的时候,在控制台输出的时候发现会有很多黄色警告,每次都要找很久才能找到自己想输出的内容,如下图: 去掉这些只需要一句话: const app createApp(App) app.config.warnHa…

数据库管理-第九十九期 OCM之路(20230828)

数据库管理-第九十九期 OCM之路(20230828) 本周五,我就要在上海Oracle University的考场进行19c OCM的升级考试了。关于之前版本的OCM,11g OCM我是在2016年9月拿下的,在一年后的即2017年的9月拿下了12c OCM。所以对于我…

Spring Cloud Alibaba-Sentinel规则

1 流控规则 流量控制,其原理是监控应用流量的QPS(每秒查询率) 或并发线程数等指标,当达到指定的阈值时 对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。 第1步: 点击簇点链路,我们就可以看到访…

QML Book 学习基础2(基本元素控件)

目录 矩形(Rectangle) 文本元素 鼠标键盘交互 布局元素 矩形(Rectangle) 矩形项用于用纯色或渐变填充区域,和/或提供矩形边框。需要注意如果长宽没有设置,是无法看到矩形的 Rectangle {id: rect1x: 12; …

上位机采集8通道模拟量模块数据

模拟量模块和上位机的配合使用可以实现对模拟量数据的采集、传输和处理。下面是它们配合使用的一般步骤:1. 连接模拟量模块:将模拟量模块与上位机进行连接。这通常涉及将模拟量模块的输入通道与被监测的模拟信号源连接起来,如传感器、变送器等…

css元素定位:通过元素的标签或者元素的id、class属性定位,还不明白的伙计,看这个就行了!

前言 大部分人在使用selenium定位元素时,用的是xpath元素定位方式,因为xpath元素定位方式基本能解决定位的需求。xpath元素定位方式更直观,更好理解一些。 css元素定位方式往往被忽略掉了,其实css元素定位方式也有它的价值&…

设计模式入门笔记

1 设计模式简介 在IT这个行业,技术日新月异,可能你今年刚弄懂一个编程框架,明年它就不流行了。 然而即使在易变的IT世界也有很多几乎不变的知识,他们晦涩而重要,默默的将程序员划分为卓越与平庸两类。比如说&#xff…

游戏测试工程师的职业发展前景怎么样?

软件测试是一个看似入门简单,门槛极低,薪资也还不错的的行业,但如果你开始向这个方向发展,你就发现并非如此。实际情况是初级功能岗位薪资偏低,而且以外包公司居多,高级岗位薪资非常可观,但对技…

震动分析国标GB/T 19873.3-2019/ISO 13373-3:2015笔记

1.国家标准 1.1震动测量 现行国家标准是:GB/T 19873.2-2009 机器状态监测与诊断 振动状态监测 第2部分:振动数据处理、分析与描述 它的起草人: 郑州机械研究所。西安热工研究院有限公司。东南大学。 主要起草人 韩国明 、张学延 、傅行…