2

私はフラスコに非常に慣れていないので、ユーザーがアカウントを持っていてログインできるフラスコでウェブサイトを更新しようとしています。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)
4

2 に答える 2

3

この質問permanent_session_lifetimeで説明されているように、session.modifiedフラグを使用できます。

この回答session.permanent = Trueで説明されているように、セッションはデフォルトでは永続的ではなく、 でアクティブ化する必要があることに注意してください。

于 2016-09-27T09:22:40.983 に答える