Функция login_fresh
Функция login_fresh применяется для проверки того,
что текущий пользователь вошёл в систему именно в рамках
текущей сессии, а не был автоматически восстановлен
из cookie «запомнить меня». Функция не принимает
параметров и возвращает True, если сессия
считается свежей, и False в противном случае.
Это бывает полезно для защиты критичных действий,
например смены пароля или удаления аккаунта.
Синтаксис
from flask_login import login_fresh
res = login_fresh()
Пример
Давайте выведем результат проверки свежести входа для текущего пользователя:
from flask import Flask
from flask_login import LoginManager, login_fresh, login_user, UserMixin
app = Flask(__name__)
app.secret_key = 'secret'
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('/')
def index():
user = User('1')
login_user(user)
return str(login_fresh())
Результат выполнения кода:
"True"
Пример
Давайте проверим свежесть входа при использовании
флага remember:
from flask import Flask
from flask_login import LoginManager, login_fresh, login_user, UserMixin
app = Flask(__name__)
app.secret_key = 'secret'
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('/')
def index():
user = User('1')
login_user(user, remember=True)
return str(login_fresh())
Результат выполнения кода:
"False"
Смотрите также
-
функцию
fresh_login_required,
которая требует свежий вход для доступа к обработчику -
функцию
login_user,
которая выполняет вход пользователя в систему -
функцию
login_remembered,
которая проверяет вход через cookie «запомнить меня» -
атрибут
session_protection,
который управляет защитой сессии