blog details
author


blog detail

Ориентированность на пользователя и клиента очень популярна в современной бизнес-модели. Помимо Web 2.0, Web 3.0 делает упор на децентрализацию и возвращает больше полномочий и управления данными текущим пользователям. Таким образом, возникает тенденция к централизации пользователей, и это было бы более важным. Итак, что касается создания приложения с использованием Flask, система входа и аутентификации пользователя является основной функцией, которую оно должно иметь. Сегодня мы поговорим о том, как использовать диспетчер входа Flask и создать его в своем приложении.

Содержание: Система входа в систему Flask

Установка и настройка диспетчера входа в систему Flask

Этот модуль обеспечивает управление сеансом пользователя в приложении Flask. Он выполняет общие задачи входа в систему, выхода из системы и запоминания сеансов ваших пользователей в течение продолжительных периодов времени.

По сути, менеджер входа в систему Flask. может позволить вам сделать следующее:

  1. Сохраните идентификатор активного пользователя в сеансе и позвольте вам легко входить и выходить из него.
  2. Позволяет ограничить просмотры для вошедших (или вышедших из системы) пользователей.
  3. Обработайте обычно сложную функцию «запомнить меня».
  4. Помогите защитить сеансы ваших пользователей от кражи похитителями файлов cookie.
  5. Возможна интеграция с Flask-Principal или другими расширениями авторизации.

Во-первых, установить менеджер входа в систему flask очень просто. Мы можем ввести pip3 install flask-login в терминал вашего компьютера. Затем для настройки входа в флягу с помощью приложения фляги выполните три шага:

1. Импортируйте модули входа в флягу

2. Запустите экземпляр LoginManager и подключитесь к своему приложению.

3. Определите функцию load_user, возвращая user_id

Создайте и настройте базу данных пользователей, используя SQLAlchemy и вход в Flask UserMixin

№1, нам нужно импортировать модуль SQLAlchemy и настроить его с помощью приложения flask.

Во-вторых, создайте класс User, в который будет добавлен необходимый столбец данных и спецификация каждого столбца данных.

И последнее, но не менее важное: нам нужно создать инициативную базу данных SQLAlchemy. В терминале мы можем создать инициативную базу данных SQLAlchemy. Пожалуйста, используйте имя приложения, которое вы создали в приложении flask, и имя переменной, которое вы использовали для подключения к приложению flask. Я использую приложение и БД здесь.

Регистрация пользователя

Теперь ингредиенты готовы начать создание маршрута регистрации для новых пользователей, которые присоединятся к вашему приложению.

Во-первых, маршрут необходим для регистрации пользователей.

@app.route("/registration", methods=['GET', 'POST'])

Для получения более подробной информации о маршруте Flask и сборе данных отправки из HTML, пожалуйста, ознакомьтесь с этой статьей.

https://www.easy2digital.com/automation/data/python-tutorial-26-create-a-shopify-bot-web-application-using-flask-and-heroku/

Во-вторых, ссылаясь на класс User, который мы создали ранее, нам нужно сопоставить новые пользовательские входные данные из формы на маршруте регистрации с нашей колонкой базы данных. Если ваше приложение также имеет программу API, здесь также необходимо добавить переменную token и расшифровать ее как пароль, введенный новым пользователем.

new_user = User(email=email, username=username, password=generate_password_hash(password, method='sha256'), token=token.decode())

Затем мы можем добавить new_user и использовать его commit() для подтверждения и запомнить его с помощью функции login_user, которую мы создали ранее.

Дополнительные сведения о развертывании Flask JWT API см. в этой статье.

https://www.easy2digital.com/automation/data/python-tutorial-54-utilize-flask-jwt-to-tokenizer-the-api-user-identity-and-authenticate-users/

Flask login_user, logout_user и current_user

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

Прежде всего, нам нужно импортировать модули из файла flask_login. Я расскажу о login_required в следующем разделе.

Логин_пользователь

Чтобы проверить ввод информации о входе пользователя на страницу входа, мы можем проверить, может ли пароль пользователя в данных SQLAlchemy соответствовать паролю, введенному посетителем.

Использование query.filter_by в классе User, чтобы сначала сопоставить адрес электронной почты.

Затем, если полученный пароль пользователя электронной почты соответствует введенному значению из формы, он вошел в систему. И login_user может запомнить этого пользователя в любом сеансе позже, до log_out.

Logout_user

Создание нового маршрута для выхода пользователей из своих учетных записей

Текущий пользователь

Это очень полезный модуль, так как он сообщает приложению, кто посещает страницу. Если вы хотите предлагать эксклюзивный контент для участников или различать контент между неизвестными пользователями и зарегистрированными пользователями. Этот модуль облегчает развертывание и создание функций.

return render_template("shopify.html", user=current_user)

Чтобы обнаружить существующих пользователей, нам нужно добавить current_user в render_template каждого маршрута или маршрутов, для которых вы хотите показывать персонализированный контент в приложении Flask.

Login_required декоратор

Для любых маршрутов, которые открыты только для участников, вам необходимо добавить декоратор login_required под маршрутом. Возьмем маршрут выхода, например, если пользователь еще не вошел в систему, он или она не может щелкнуть страницу выхода, и вы можете добавить флажковое сообщение, чтобы сначала уведомить их о входе.

@app.route("/logout")
@login_required
def logout():
logout_user()
return redirect(url_for('home'))

Полный скрипт Python для входа и аутентификации Flask

Если вас интересуют полные сценарии Python из главы 57 — Создание системы входа и аутентификации учетной записи пользователя с помощью Flask, SQLAlchemy, пожалуйста , подпишитесь на нашу рассылку , добавив сообщение «Глава 57» . Мы отправим вам сценарий немедленно на ваш почтовый ящик.

Связаться с нами

Надеюсь, вам понравится читать главу 57 — Создание системы входа и аутентификации учетной записи пользователя с помощью Flask, SQLAlchemy. Если в. ы это сделали, пожалуйста, поддержите нас, выполнив одно из перечисленных ниже действий, потому что это всегда помогает нашему каналу.

  • Поддержите и пожертвуйте нашему каналу через PayPal ( paypal.me/Easy2digital )
  • Подпишитесь на мой канал и включите колокольчик уведомлений канала Easy2Digital Youtube .
  • Подписывайтесь и лайкайте мою страницу Страница Easy2Digital в Facebook
  • Поделитесь статьей в своей социальной сети с хэштегом #easy2digital
  • Покупайте товары с кодом скидки Easy2Digital 10% OFF ( Easy2DigitalNewBuyers2021)
  • Вы подписываетесь на нашу еженедельную рассылку, чтобы получать последние статьи, видео и коды скидок Easy2Digital.
  • Подпишитесь на наше ежемесячное членство через Patreon, чтобы пользоваться эксклюзивными преимуществами ( www.patreon.com/louisludigital )
Поделиться этим постом

Пока нет комментариев...

shape shape

Подпишитесь на нашу рассылку!

Получайте эксклюзивные обновления и предложения в автомобильном стиле