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



在我的Flask SQLAlchemyweb应用程序中,我已经实现了Flask Login以进行用户身份验证和授权。现在我正在构建一个Admin部分,管理员用户可以在其中添加、编辑或删除任何用户并查看用户列表。因此,在删除任何用户之前,我想知道该用户当前是从某个地方登录到应用程序,还是只是与web应用程序进行了任何活动会话。我怎么能同谋?或者这在应用程序级别上可能吗?

[注意:如您所见,这与current_user.is_authenticated]无关

您必须自己实现此功能,因为flask-login无法以本机方式实现。

我可以想出无数种方法来做到这一点,但最快的可能只是跟踪用户最后一次访问你的网站的时间。然后,您可以设置一个合理的timeout,假设用户在过去30分钟内(或无论您觉得舒服的时间有多长(没有登录

例如:

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

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

最新更新