我很擅长烧瓶,并尝试用烧瓶更新网站,用户拥有帐户并能够登录 . 如果超过10分钟没有活动,我想让用户会话过期并注销,并将用户重定向到登录页面 .
我想在@ app.before_request中更新它,下面是我的代码 . 我如何更新它请建议 . 检查登录时间并检查是否没有活动然后注销 .
@app.before_request
def look_for_user(user=None):
g.usr = {}
g.api = False
if user:
g.usr = user
if 'user_id' in session:
g.usr = get_user((session['user_id'])) //from db
if not g.usr:
g.usr = {}
if not g.usr:
if request.url_rule:
if request.url_rule.rule not in app.config['LOGIN_NOT_REQUIRED']:
session['postlogin_landing_page'] = request.path
if g.api:
return jsonify(error=True, error_message='Invalid Login/Token')
else:
return redirect(app.config['LOGIN_URL'])
elif 'login_page' in session and request.url_rule:
if request.url_rule.rule not in app.config:
landing_page = session.pop('login_page')
return redirect(landing_page)
2 回答
您可以使用
permanent_session_lifetime
和session.modified
中描述的session.modified
标志 .请注意,默认情况下会话不是永久性的,需要使用
session.permanent = True
激活,如this answer中所述 .你的问题的解决方案,你必须导入datetime.timedelta库