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

Декоратор login_required

Декоратор login_required применяется к функциям-обработчикам Flask и проверяет, вошёл ли пользователь в систему. Если пользователь аутентифицирован, обработчик выполняется как обычно. В противном случае Flask-Login вызывает представление входа, заданное атрибутом login_view, и передаёт в него параметр next с исходным адресом. Декоратор не принимает аргументов и работает совместно с объектом LoginManager.

Синтаксис

@login_required

Пример

Давайте защитим обработчик главной страницы с помощью декоратора login_required:

from flask import Flask from flask_login import LoginManager, login_required app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = 'login' @app.route('/') @login_required def index(): return 'hello' @app.route('/login') def login(): return 'login page'

Если пользователь не аутентифицирован, при обращении к адресу / произойдёт перенаправление на адрес /login. Если пользователь вошёл в систему, результатом выполнения кода будет строка:

hello

Пример

Давайте защитим несколько обработчиков и покажем использование параметра next при перенаправлении:

from flask import Flask, request from flask_login import LoginManager, login_required app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = 'login' @app.route('/') @login_required def index(): return 'hello' @app.route('/user') @login_required def user(): return 'user page' @app.route('/login') def login(): return request.args.get('next', 'no next')

При обращении неаутентифицированного пользователя к адресу /user произойдёт перенаправление на адрес /login?next=%2Fuser, и результатом выполнения кода будет строка:

/user

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

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