Flask 按时间限制用户会话

Flask limiting user sessions by time

我的任务比较特殊,想请教高手:)

我需要构建基于 Flask 的小型 Web,它将具有内置视频播放器。用户必须登录才能访问视频。问题是我需要限制用户使用该服务的时间。

有人可以推荐一种可能的方法来让它工作或帮助我找到一个开始的地方吗?

我在想什么...如果我创建像 "credits_minutes" 这样的用户配置文件变量,并且我可以找到一种方法将 credits_minutes 每分钟减少一个怎么办?

来自 Flask-Session 文档:https://pythonhosted.org/Flask-Session/

PERMANENT_SESSION_LIFETIME: the lifetime of a permanent session as datetime.timedelta object. Starting with Flask 0.8 this can also be an integer representing seconds.

根据我的理解,这些会话是基于请求的,您想要做的是实际获取在网站上花费的时间?您需要对客户端进行某种保持活动。

例如网络套接字、重复的 JavaScript 调用或其他可以知道它们在实际站点上并以此为基础的逻辑。

一个简单的解决方案是用 jquery 编写一些东西来轮询您选择的端点,您可以在其中为每个轮询做一些基于时间的事情。例如保存最旧的呼叫并将其与到达的每个新呼叫进行比较。当 X 分钟过去后,重定向用户。