排除Flask会话超时的端点

时间:2017-05-05 19:11:18

标签: python session flask

我有一个使用Flask-Sessions的Flask应用程序来管理我的会话。

flask.permanent_session_lifetime = timedelta(minutes=30)

活动30分钟后,会话将终止,我的用户必须再次登录才能继续使用该应用程序。

但是,我想从此会话超时行为中排除特定的URL端点。我的意思是,我有一个持续的轮询,发生在我的应用程序中,其中Web客户端以30秒的间隔调用GET /状态端点。每隔30秒,页面就会从服务器请求更新任务状态,并更新进度条等。

由于上述GET /状态呼叫不断被访问,用户可能完全离开计算机并且会话永远不会超时,因为GET /状态呼叫是连续轮询。

我是否可以在超时行为中排除此端点,以便调用GET / status 延长当前用户会话的生命周期?如果没有,在这种情况下推荐的方法是什么?我不想在这个应用程序中实现我自己的Session行为版本。

1 个答案:

答案 0 :(得分:2)

你必须选择:

  1. 子类SecureCookieSessionInterface并覆盖should_set_cookie方法
  2. 注册after_request处理程序,如果网址匹配
  3. ,则删除'Set-Cookie'标头