Атрибут is_authenticated
Атрибут is_authenticated принадлежит классу AnonymousUserMixin из модуля flask_login. Он применяется к объекту анонимного пользователя, который Flask-Login подставляет в current_user, когда ни один пользователь не вошёл в систему. Атрибут не принимает параметров и всегда возвращает False.
Атрибут используется для проверки того, вошёл ли пользователь в систему. Если current_user.is_authenticated возвращает False, значит текущий пользователь анонимный, и доступ к защищённым страницам нужно ограничить.
Синтаксис
current_user.is_authenticated
Пример
Давайте проверим значение атрибута для анонимного пользователя:
from flask import Flask
from flask_login import LoginManager, current_user
app = Flask(__name__)
app.secret_key = 'secret'
login_manager = LoginManager()
login_manager.init_app(app)
@app.route('/')
def index():
return str(current_user.is_authenticated)
Результат выполнения кода:
Пример
Давайте используем атрибут для защиты страницы от анонимных пользователей:
from flask import Flask, redirect, url_for
from flask_login import LoginManager, current_user
app = Flask(__name__)
app.secret_key = 'secret'
login_manager = LoginManager()
login_manager.init_app(app)
@app.route('/')
def index():
if not current_user.is_authenticated:
return redirect(url_for('login'))
return 'hello'
@app.route('/login')
def login():
return 'login page'
Результат выполнения кода для анонимного пользователя при запросе адреса /:
Пример
Давайте выведем разные сообщения в шаблоне в зависимости от значения атрибута:
from flask import Flask, render_template
from flask_login import LoginManager, current_user
app = Flask(__name__)
app.secret_key = 'secret'
login_manager = LoginManager()
login_manager.init_app(app)
@app.route('/')
def index():
return render_template('index.html')
user
{% else %}anonymous
{% endif %} <-jinja+>Результат выполнения кода для анонимного пользователя:
anonymous
<-html+>Смотрите также
-
класс
AnonymousUserMixin,
который представляет анонимного пользователя -
атрибут
is_anonymous,
который показывает что пользователь анонимный -
атрибут
is_active,
который показывает активность анонимного пользователя -
метод
get_id,
который возвращает идентификатор анонимного пользователя