编程语言
首页 > 编程语言> > python – Flask永久会话:在哪里定义它们?

python – Flask永久会话:在哪里定义它们?

作者:互联网

默认情况下,Flask使用volatile会话,这意味着会话cookie设置为在浏览器关闭时过期.为了使用永久会话,其将使用具有定义的到期日期的cookie,应该设置session.permanent = True,如mentioned in this question.,并且将根据config [‘PERMANENT_SESSION_LIFETIME’]设置到期日期.

我很惊讶会话生存期在配置文件中定义,但是无法通过配置请求使用永久会话,例如config [‘USE_PERMANENT_SESSION’] = True.但就是这样吧.

我的问题是:如果你确实想要永久性会议,那么定义它们的最佳位置是什么?它是否在上述问题中提出的@ app.before_request函数中?但是这意味着每次请求都会重新设置它?似乎一旦设置,session.permanent一直保持为真,直到会话结束.

永久会话通常在登录后使用,因此请求它们的最佳位置是在处理login_user()时?因此,对所有匿名页面使用易失性会话cookie的最佳策略是,通过在登录时执行session.permanent = True切换到永久会话?

并且可能希望根据它是普通会话cookie还是remember_me cookie来设置不同的生命周期.实现这一目标的最佳方法是什么?

解决方法:

我很惊讶没有回答这个问题.似乎应该有某种类型的配置变量SESSION_PERMANENT = True.但不幸的是没有.正如您所说,这是最好的方法.

@app.before_request
def make_session_permanent():
    session.permanent = True

标签:python,cookies,flask,session,flask-login
来源: https://codeday.me/bug/20191006/1860514.html