Подтвердить что ты не робот

Flask-Login - Как получить идентификатор сеанса

Делаю проект с Flask, Gevent и веб-сокетом, используя среду разработки флэшей. Я использовал flask_login. Здесь

  • Как получить идентификатор уникального сеанса для каждого соединения?
  • Я хочу сохранить SessionID в базе данных и удалить его, как только клиент отключится.
  • Как получить общие активные соединения

    from flask_login import * 
    login_manager = LoginManager()
    login_manager.setup_app(app)
    
    @app.route("/", methods=["GET", "POST"]) 
    def login():
        login_user([username], remember):    
    
    @app.route("/logout") 
    @login_required 
    def logout(): 
        logout_user() 
    
4b9b3361

Ответ 1

Нет идентификатора сеанса.

Сессии в Flask - это просто обертки над куки. Что вы сэкономите на нем, он подписывается цифрой и отправляется клиенту в виде файла cookie. Когда вы делаете запрос, этот файл cookie отправляется на ваш сервер, а затем проверяется и преобразуется в объект Python.

AFAIK, Flask-Login сохраняет в сеансе идентификатор пользователя.

Чтобы получить общее количество активных подключений, вы можете:

  • При входе в систему создайте уникальный идентификатор и сохраните его в сеансе (flask.session['uid'] = uuid.uuid4(), например), а затем сохраните его в своей базе данных.
  • При выходе из системы удалите этот уникальный идентификатор из сеанса (del flask.session['uid']), а также из своей базы данных.
  • Получить счет активных сеансов с использованием вашего любимого метода (ORM/Raw SQL)

Ответ 2

Идентификатор сеанса находится в:   flask.session [ '_ ID']