一尘不染

Flask-Login-如何获取会话ID

flask

如何获取烧瓶上的复选框是否已选中我正在使用Flask开发服务器环境使用Flask,Gevent和Web套接字进行项目。我用过flask_login。这里

  1. 如何获得每个连接的唯一会话ID?
  2. 我想将其存储SessionID在数据库中,并在客户端断开连接后将其删除。
  3. 如何获得活动连接总数
from flask_login import * 
login_manager = LoginManager()
login_manager.setup_app(app)

@app.route("/", methods=["GET", "POST"]) 
def login():
    login_user([username], remember):    

@app.route("/logout") 
@login_required 
def logout(): 
    logout_user() 

阅读 1497

收藏
2020-04-06

共1个答案

一尘不染

没有会话ID。

Flask中的会话只是Cookie的包装。你保存在上面的内容经过数字签名,并以cookie的形式发送给客户端。当你发出请求时,该cookie将发送到你的服务器,然后在Python对象中进行验证和转换。

AFAIK,Flask登录在会话上保存用户ID。

要获得总的活动连接,你可以:

  1. 登录时,生成一个唯一的ID并将其保存在会话中(flask.session[‘uid’] = uuid.uuid4()例如,),然后将其保存在数据库中。
  2. 注销时,从会话(del flask.session[‘uid’])以及数据库中删除该唯一ID 。
  3. 使用你喜欢的方法(ORM / Raw SQL)检索活动会话的数量
2020-04-06