0

私のフラスコアプリでは、ログアウトするとセッションをクリアできます。

@app.route('/logout')
def logout():
    session.clear()
    return redirect(url_for('index'))

しかし、ログアウトは、ユーザーが私のウェブサイトでログアウトをクリックしたときにのみ呼び出されます。

謎のユーザーをブロックできる機能を実装しています。したがって、同意なしにユーザーを強制的にログアウトする必要があります。彼のセッションをクリアできれば、私のロジックも機能します。ガイドしてください。

注: 誰かが app.secret_key の変更を提案しました。しかし、それは特定のユーザーだけではなく、すべてのユーザーのセッションをクリアします。

4

1 に答える 1

0

したがって、各リクエストの前に、ユーザーが禁止されているかどうかを確認する必要があります!

@app.before_request
def before_request():
    user = findUser()
    if user.isBanned():
        return redirect(url_for('logout'))

このようなものはうまくいくでしょう、

移植する必要がある場合、findUser はオブジェクトを返す必要がfindUserあり、またはを返す必要があります。isBannedUserisBannedTrueFalse

于 2018-10-13T07:25:06.080 に答える