如何获取Flask登录中当前登录的用户列表?

问题描述 投票:0回答:1

在我的Flask-SQLAlchemy Web应用程序中,我实现了Flask-Login用于用户身份验证和授权。现在,我正在构建一个“管理员”部分,管理员用户可以在其中添加,编辑或删除任何用户并查看用户列表。因此,在删除任何用户之前,我想知道该用户当前是从某个位置登录到该应用程序,还是只是与该Web应用程序进行了任何活动会话。我该如何帮忙?还是在应用程序级别甚至有可能?

[注意:如您所见,这是不知道 current_user.is_authenticated]

python flask flask-sqlalchemy flask-login
1个回答
0
投票

您将不得不自己实现此功能,因为无法使用flask-login来本地实现此功能。

我可以想到各种各样的方法,但是最快的方法可能只是跟踪用户上次访问您的网站的时间。然后,您可以设置一个合理的timeout,假设用户在过去30分钟内未执行任何操作(或者您感到满意的时间长),则未登录。

例如:

@app.before_request
def update_last_active():
    current_user.last_active = datetime.utcnow()
    db.session.commit()

这将在用户每次向您的服务器发送请求时更新User.last_active

© www.soinside.com 2019 - 2024. All rights reserved.