我正在建立一个与烧瓶,其中用户有帐户,并能够登录的网站。我使用flask-principal进行部分日志记录和角色管理。有没有办法让用户的会话在5分钟或10分钟后过期?我在flask文档或flask-principal的文档中找不到它。
我想到了一种手动完成的方法,在登录时设置一个带有时间标签的变量服务器端,在用户下一次执行操作时,服务器验证该时间戳上的时间增量并删除会话。
发布于 2012-08-03 05:01:53
关闭浏览器后,除非您有永久会话,否则flask会话将过期。您可以尝试以下操作:
from datetime import timedelta
from flask import session, app
@app.before_request
def make_session_permanent():
session.permanent = True
app.permanent_session_lifetime = timedelta(minutes=5)在Flask中,默认情况下,permanent_session_lifetime设置为31天。
发布于 2018-04-18 13:12:00
是的,我们应该设置
session.permanent = True
app.permanent_session_lifetime = timedelta(minutes=5)但我不认为它应该设置在app.before_request,这将导致设置它们太多的时间。
permanent_session_lifetime是一个Basics Configuration,所以应该在配置应用时进行设置:
from datetime import timedelta
app = Flask(__name__)
app.config['SECRET_KEY'] = 'xxxxxxxxx'
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(minutes=5)将为每个客户端创建独立于其他客户端的session。所以,我认为设置session.permanent最好的地方是当你login()的时候
@app.route('/login', methods=['GET', 'POST'])
def login():
#After Verify the validity of username and password
session.permanent = Truehttps://stackoverflow.com/questions/11783025
复制相似问题