flaskを使用してWebサイトを構築しています。ユーザーはアカウントを持ち、ログインできます。ログインの一部と役割の管理には、flask-principalを使用しています。 5分または10分後にユーザーのセッションが期限切れになりますか?flask documentationまたは、flask-principalのドキュメントで見つけることができませんでした。
私は手作業でそれを行う方法を考え、ログイン時にタイムタグを使用してサーバー側の変数を設定し、ユーザーが次に実行するアクションで、サーバーはそのタイムスタンプのタイムデルタを確認し、セッションを削除します。
永続的なセッションがない限り、ブラウザを閉じると、フラスコセッションは期限切れになります。以下を試すことができます。
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日に設定されています。
はい、設定する必要があります
_session.permanent = True
app.permanent_session_lifetime = timedelta(minutes=5)
_
しかし、_app.before_request
_に設定する必要があるとは思わない。
_permanent_session_lifetime
_は 基本設定 であるため、アプリを設定するときに設定する必要があります。
_ 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 = True
_