Flask: очистить сеанс от предполагаемого администратора - PullRequest
0 голосов
/ 13 октября 2018

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

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

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

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

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

1 Ответ

0 голосов
/ 13 октября 2018

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

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

Как-то так будет работать,

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

...