Flask-Login用户状态监控

时间:2018-07-08 04:24:31

标签: flask login flask-login

我正在用Flask和Flask-Login开发一个小型网站。我需要一个管理员视图来监视所有用户的在线状态。我在用户数据库集合中添加了一个is-online列,并尝试对其进行更新。但是我没有找到任何用于处理会话过期的回调。如何解决它或任何更好的主意?

谢谢!

3 个答案:

答案 0 :(得分:1)

仅供参考,Redis计算在线用户| Flask(Python微框架)-http://flask.pocoo.org/snippets/71/

答案 1 :(得分:0)

您可以检查用户的上次活动时间是否大于(大于)会话生存时间。

如果是这样,您将继续更新其is_online状态。 我在应用程序中处理问题的方式是,由于我在db中为每个用户提供了一个last_activity字段,因此可以记录他们完成工作的时间,因此我可以检查该值与会话生存时间之间的关系。

答案 2 :(得分:0)

一种非常粗糙的方法是创建一个单独的堆栈,该堆栈在用户登录时进行推送和弹出操作。假设数据库上的会话ID和用户ID没有绑在一起(即,您有单独的会话ID和用户ID),可以在创建和销毁会话时维护各种分类帐并进行推送和弹出。

您将必须特别强调在多个设备上运行多个会话的用户...这就是为什么我要警告说这是一种相当粗糙的方法。