Flask 使用Flask的session来保存用户登录状态例子

这篇具有很好参考价值的文章主要介绍了Flask 使用Flask的session来保存用户登录状态例子。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用Python的Flask库实现的登录接口、查询金额接口和注销接口的示例。

  1. 当用户发送POST请求到/login接口时,代码会获取请求中的用户名和密码。如果用户名和密码匹配(在示例中是'admin'和'admin123'),则会将用户名保存在session中,并将session设置为永久有效。这意味着用户在60分钟内可以保持登录状态,即使关闭浏览器或重新启动应用程序。
  2. 当用户发送GET请求到/query_balance接口时,代码首先检查session中是否存在用户名并且用户名为'admin',以确保用户已经登录。如果没有登录或者登录的用户名不是'admin',则返回提示信息"Please login first"。如果用户已经登录,代码可以添加查询金额的逻辑,并将金额作为JSON响应返回给用户。
  3. 当用户发送POST请求到/logout接口时,代码首先检查session中是否存在用户名。如果没有登录,则返回提示信息"Please login first"。如果用户已经登录,代码会从session中删除保存的用户名,并销毁整个session对象,以注销用户。
  4. 这个示例代码使用了Flask的session来管理用户登录状态。session是一种在服务器端存储和跟踪用户信息的机制。在这个示例中,session使用了随机生成的密钥来加密和解密数据,以确保安全性。app.secret_key用于设置session密钥。
import os
from datetime import timedelta
from flask import Flask, request, session, jsonify

app = Flask(__name__)
app.secret_key = os.urandom(24)  # 随机生成session密钥
app.permanent_session_lifetime = timedelta(minutes=60)  # 设置session时效为60分钟


@app.route('/login', methods=['POST'])
def login():
    username = request.form.get('username')
    password = request.form.get('password')

    if username == 'admin' and password == 'admin123':
        session.permanent = True  # 设置session为永久有效
        session['username'] = username
        return 'Login successful'
    else:
        return 'Invalid username or password'


@app.route('/query_balance', methods=['GET'])
def query_balance():
    if 'username' not in session or session['username'] != 'admin':
        return 'Please login first'

    # 这里可以添加查询金额的逻辑
    balance = 8848

    return jsonify({'balance': balance})


@app.route('/logout', methods=['POST'])
def logout():
    if 'username' not in session:
        return 'Please login first'

    session.pop('username', None)  # 删除session中的'username'键
    session.clear()  # 销毁整个session对象
    return 'Logout successful'


if __name__ == '__main__':
    app.run()

 请求登陆接口,登陆成功返回提示

Flask 使用Flask的session来保存用户登录状态例子,# Flask,flask,python

 已请求登陆接口,查询金额接口,返回金额Flask 使用Flask的session来保存用户登录状态例子,# Flask,flask,python

 请求注销接口,返回注销成功提示Flask 使用Flask的session来保存用户登录状态例子,# Flask,flask,python

 未登陆时,请求注销接口,提示请先登陆Flask 使用Flask的session来保存用户登录状态例子,# Flask,flask,python

 未登陆时,请求查询金额接口,提示请先登陆Flask 使用Flask的session来保存用户登录状态例子,# Flask,flask,python

 文章来源地址https://www.toymoban.com/news/detail-564923.html

到了这里,关于Flask 使用Flask的session来保存用户登录状态例子的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 模型部署flask学习篇(二)---- flask用户登录&用户管理

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 在学习机器学习或者深度学习后,我们常常会将自己训练好的模型来进行部署或者可视化出来,供自己或者别人来使用,那么python的flask框架就可以作为选择之一。 1、 flask路由:可以接收get请求和post请求

    2024年01月25日
    浏览(39)
  • cookie和session的区别,分布式环境怎么保存用户状态

    1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。 3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方

    2024年02月13日
    浏览(50)
  • 用户登录案例练习(flask+微信小程序)

    目录 flask 微信小程序 1.项目后端步骤 具体步骤可参考flask官网:flask 中文网 (1)创建虚拟环境 (2)激活虚拟环境 (3)在虚拟环境里边安装Flask (4) 粘贴官网的最小flask代码 (5)启动flask服务 2.代码书写 3.运行flask测试  在index.wxml中添加用户登录的标签 在index.js书写函数

    2024年02月16日
    浏览(42)
  • sqlalchemy 在 flask 中使用 保证 session 不过期

    重点在函数中建 engine 在外部声明基类和模型 参考 https://www.zhihu.com/question/42240205

    2024年02月14日
    浏览(30)
  • (二十六)Flask之原生session切为flask-session

    🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥 本文已收录于Flask框架从入门到实战专栏 :

    2024年04月11日
    浏览(40)
  • (二十五)Flask之MTV&MVC架构模式Demo【重点:原生session使用及易错点!】

    🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥 本文已收录于Flask框架从入门到实战专栏 :《Flask框架从入门到实战》 🔥🔥 热门专栏推荐 :《Python全栈系列教程》、《爬虫从入门到精通系列

    2024年03月21日
    浏览(48)
  • (二十四)Flask之flask-session组件

    🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥 本文已收录于Flask框架从入门到实战专栏 :《Flask框架从入门到实战》 🔥🔥 热门专栏推荐 :《Python全栈系列教程》、《爬虫从入门到精通系列

    2024年03月17日
    浏览(38)
  • Flask从入门到放弃五(SQLAlchemy介绍与快速使用、创建表插入数据、Scoped_session线程安全、基本增删查改、表模型、Flask-SQLAlchemy、Migrate的使用)

    SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 SQLAlchemy的组成部分有: Engine 框架的引擎 Connection Pooling 数据库连接池 Dialect 选择连接数据库的

    2024年02月04日
    浏览(53)
  • flask中的session介绍

    flask中的session介绍 在Flask中,session是一个用于存储特定用户会话数据的 字典对象 。它在不同请求之间保存数据。它通过 在客户端 设置一个签名的cookie, 将所有的会话数据存储在客户端 。以下是如何在Flask应用中使用session的基本步骤: 首先,你需要设置一个秘钥,这是为

    2024年02月15日
    浏览(70)
  • flask-----请求和响应,session

     1 所有web:请求对象,响应对象(go,java,ptyhon) 2 flask请求对象,全局的request 3 flask的响应 4 session flask中是全局session session的运行机制 源码分析,看运行机制

    2024年02月14日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包