РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
429 of 643 menu

Функция logout_user

Функция logout_user применяется для завершения сеанса текущего пользователя. Она удаляет идентификатор пользователя из сессии, а также очищает данные, связанные с флагом remember и защитой сессии. Функция не принимает параметров и возвращает True, если выход прошёл успешно, или False, если активного пользователя не было.

Обычно функция вызывается внутри обработчика маршрута, например при переходе на адрес /logout. После вызова пользователь считается анонимным, и все последующие запросы обрабатываются как от неавторизованного гостя.

Синтаксис

from flask_login import logout_user logout_user()

Пример

Давайте создадим простое приложение Flask с аутентификацией и маршрутом для выхода пользователя:

from flask import Flask, redirect, url_for from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required app = Flask(__name__) app.secret_key = 'abcde' login_manager = LoginManager() login_manager.init_app(app) class User(UserMixin): def __init__(self, id): self.id = id @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route('/login') def login(): user = User('1') login_user(user) return 'logged in' @app.route('/logout') @login_required def logout(): logout_user() return redirect(url_for('login'))

При переходе на адрес /logout пользователь выходит из системы и перенаправляется на страницу входа. Если пользователь не был авторизован, сработает декоратор login_required и произойдёт перенаправление на форму логина.

Пример

Давайте проверим, что после вызова logout_user пользователь становится анонимным:

from flask import Flask from flask_login import LoginManager, UserMixin, login_user, logout_user, current_user app = Flask(__name__) app.secret_key = 'abcde' login_manager = LoginManager() login_manager.init_app(app) class User(UserMixin): def __init__(self, id): self.id = id @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route('/check') def check(): user = User('1') login_user(user) res = current_user.is_authenticated logout_user() res = current_user.is_authenticated return str(res)

Результат выполнения кода после выхода:

False

Смотрите также

  • функцию login_user,
    которая выполняет вход пользователя
  • функцию login_required,
    которая защищает маршрут от анонимных пользователей
  • класс LoginManager,
    который управляет аутентификацией в приложении
  • атрибут anonymous_user,
    который представляет неавторизованного пользователя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить