10

フラスコログインで認証が機能していますが、フラスコでのクッキーの期間に何を使用しても、セッションはまだ認証されているようです。フラスコログインの構成変数を適切に設定していますか? 私はもう試した

app.REMEMBER_COOKIE_DURATION = datetime.timedelta(seconds=30)
app.config["REMEMBER_COOKIE_DURATION"] = datetime.timedelta(seconds=30)

ブラウザを閉じてしばらく待って、保護すべきURLにアクセスしてもアクセスできてしまいます。これはクロムのこの問題に関連していますか? . Cookie をクリアすると、期待どおりのログイン ページが表示されます。このすべてから、Cookie のタイムアウトが尊重されていないと思います。

また、PERMANENT_SESSION_LIFETIMEフラスコで何をしますか?

4

1 に答える 1

19

REMEMBER_COOKIE_DURATION「Remember me」機能、つまり、ログインしたユーザーがブラウザーを閉じた場合でも記憶する期間に使用されます。そのために別のCookieが使用され、その名前はREMEMBER_COOKIE_NAMEremember_tokenデフォルトで)によって設定できます。しばらくすると (ブラウザがまだ実行されている場合でも) ログイン セッションが強制的に期限切れになるようにするにはPERMANENT_SESSION_LIFETIME、アプリの設定を保持する場所を設定します。

PERMANENT_SESSION_LIFETIME = datetime.timedelta(minutes=30)

そして、あなたのログインビューセットでsession.permanent = True:

from flask import session

@app.route('/login')
def login():
    # ...
    if login_user(user):
        session.permanent = True
        return redirect(request.args.get('next') or url_for('index'))
    # ...
于 2012-12-12T12:19:18.997 に答える