Найти - Пользователи
Полная версия: Flask и flask-login: как реализовать принудительный логаут, и почему логин сохраняется между разными инстансами
Начало » Web » Flask и flask-login: как реализовать принудительный логаут, и почему логин сохраняется между разными инстансами
1
vbsm
Приветствую всех форумчан.

1. Пытаюсь реализовать принудительный логаут администратором пользователя в моем небольшом flask проекте на стороне бэкэнда. Варианта два (оба для меня будут удовлетворительными): 1) администратор точечно производит логаут, 2) администратор производит логаут сразу всех пользователей. Исследовал вопрос по всякому, в том числе со сбросом секретного ключа и перезапуском сервиса, но это не работает. Прошу подсказать идеи/рабочие варианты алгоритма, как это сделать. Сервис работает на flask+gunicorn в докер контейнере. Снаружи РП нет, если это имеет значение.

2. Если я поднимаю два инстанса моего веб-приложения через докер на разных портах, с разными секретными ключами и разными паролями от учетных записей (логины одинаковые, например, admin присутствует по умолчанию везде), то если я авторизируюсь в одном инстансе, то автоматически это происходит со вторым. Если делаю логаут в одном, автоматически происходит логаут во втором. Как это можно объяснить? Разве разные адреса, разные секретные ключи и данные учетных записей не предполагают, что инстансы независимы, куки разные для каждого их них? Как исправить это проблему?

Благодарю за ваши советы и подсказки.
py.user.next
vbsm
Исследовал вопрос по всякому, в том числе со сбросом секретного ключа и перезапуском сервиса, но это не работает.
У тебя там нет сессии? Сессия - такой набор запросов, где следующий запрос указывает на предыдущий.
Соответственно, если поступает запрос, который не знает, какой запрос был до этого, то нужно переводить на страницу логина. А успешный вход становится первым запросом в сессии.

Иначе непонятно, как при сбросе секрета всё продолжает работать. Это возможно, когда в запросах не проверяется, кто их посылает, входил ли он и когда он входил, в какой день.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB