Настой: очистить сеанс от предполагаемого администратора

В моем приложении фляги, выход может очистить сессию.

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

Но выход из системы вызывается только тогда, когда пользователь нажимает кнопку "Выход" на моем веб-сайте.

Я реализую функциональность, где я могу заблокировать таинственного пользователя. Итак, мне нужно принудительно выйти из системы без его согласия. Моя логика также сработает, если я смогу очистить его сессию. Пожалуйста, руководство.

Примечание: кто-то предложил изменить app.secret_key. Но это очистит сеанс для всех пользователей, а не только для конкретного пользователя.

1 ответ

Таким образом, вы должны проверить, если пользователь забанен или нет перед каждым запросом!

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

Нечто подобное будет работать,

Ofc вы должны имплантировать findUser а также isBanned, findUser должен вернуть User объект и isBanned должен вернуться True или же False

Другие вопросы по тегам