在flask应用程序中,我想为匿名/未经身份验证的用户保存会话31天,但对于已登录的用户仅保存30分钟。
详细信息:
我有一个烧瓶应用程序,其会话长度为30分钟。在before_request
处理程序中,我设置了session.permanent = True
。我正在使用Flask-Login进行用户加载,因此我的基本设置如下:
login_manager = LoginManager()
login_manager.init_app(app)
@login_manager.user_loader
def load_user(user_id: int) -> Optional[User]:
...
@app.before_request
def handle_before_request() -> None:
session.permanent = True
session.modified = True
我有一个全局配置的PERMANENT_SESSION_LIFETIME,无法修改。
对于某些路线,击中该路线的人可能登录也可能未登录。我希望这样的行为是,登录用户的会话在30分钟后过期,但未经身份验证的用户会话将持续很长时间(例如31天)。用户登录后,他们将获得一个新会话。