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

Атрибут needs_refresh_message

Атрибут needs_refresh_message применяется к объекту LoginManager и хранит строку с текстом сообщения, которое будет показано пользователю, когда тот попытается получить доступ к ресурсу, защищённому декоратором fresh_login_required, но его сессия уже не является свежей. По умолчанию атрибут содержит строку 'Please log in again to access this page.'. Значение атрибута передаётся в обработчик, зарегистрированный через метод needs_refresh_handler.

Синтаксис

login_manager.needs_refresh_message = 'message'

Пример

Давайте зададим собственное сообщение и зарегистрируем обработчик, который его показывает:

from flask import Flask, redirect, url_for, request from flask_login import LoginManager, UserMixin, login_user, fresh_login_required app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager(app) login_manager.needs_refresh_message = 'Please confirm your identity again.' class User(UserMixin): def __init__(self, id): self.id = id @login_manager.user_loader def load_user(user_id): return User(user_id) @login_manager.needs_refresh_handler def needs_refresh(): return login_manager.needs_refresh_message @app.route('/login') def login(): login_user(User('1')) return 'logged in' @app.route('/protected') @fresh_login_required def protected(): return 'secret page'

При обращении к адресу /protected с несвежей сессией пользователь увидит результат:

Please confirm your identity again.

Пример

Давайте изменим текст сообщения на более дружелюбный:

from flask import Flask from flask_login import LoginManager app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager(app) login_manager.needs_refresh_message = 'Your session has expired. Please log in again.' print(login_manager.needs_refresh_message)

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

"Your session has expired. Please log in again."

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

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