如果会话无活动过期,注销并重定向到登录页面



我试图更新一个网站flask用户有帐户,并能够登录。如果超过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)

您可以使用本问题中描述的permanent_session_lifetimesession.modified标志。

请注意,会话默认情况下不是永久的,需要使用session.permanent = True激活,如本回答中所述。

解决您的问题,为此您必须导入datetime。timedelta图书馆

session.permanent = True
app.permanent_session_lifetime = timedelta(seconds=3)
session.modified = True

相关内容

  • 没有找到相关文章

最新更新