Maison développement back-end Tutoriel Python Flask-Login : authentification des utilisateurs dans les applications Web Python

Flask-Login : authentification des utilisateurs dans les applications Web Python

Jun 17, 2023 am 08:50 AM
flask 身份认证 login

Flask-Login : authentification des utilisateurs dans les applications Web Python

Dans le développement d'applications Web basées sur Python, la sécurité et l'authentification des utilisateurs font partie intégrante. Flask-Login est une excellente bibliothèque Python qui aide les développeurs à ajouter facilement des fonctionnalités d'authentification à leurs applications Flask et fournit un moyen simple et flexible de gérer la connexion et la déconnexion des utilisateurs.

Cet article vous présentera les fonctions de base et l'utilisation de Flask-Login et expliquera pourquoi il s'agit de l'un des meilleurs choix d'authentification dans les applications Web Python.

Fonctionnalité de base de Flask-Login

Flask-Login est une bibliothèque Python qui permet aux développeurs de mettre en œuvre l'authentification et la gestion des utilisateurs de manière rapide et fiable. Il offre les fonctionnalités principales suivantes :

  1. Connexion et déconnexion de l'utilisateur

Avec Flask-Login, vous pouvez facilement configurer le routage pour la connexion et la déconnexion des utilisateurs, et gérer les sessions utilisateur. Cela signifie que votre application peut garder une trace des utilisateurs connectés et les déconnecter si nécessaire.

  1. Gestion des sessions utilisateur

Flask-Login utilise un gestionnaire appelé "Sessions" pour gérer les sessions utilisateur. Ce gestionnaire peut stocker automatiquement l'identifiant de l'utilisateur dans un cookie crypté et le récupérer en cas de besoin.

  1. Contrôle d'accès

Flask-Login permet aux développeurs de configurer facilement les parties qui nécessitent une authentification et fournit des fonctionnalités de contrôle d'accès de base. Par exemple, vous pouvez configurer les pages qui ne sont accessibles qu'aux utilisateurs connectés et empêcher tout accès non autorisé.

  1. Processus d'authentification

Flask-Login fournit également un processus d'authentification intégré. Cela permet aux développeurs d'ajouter facilement leur propre logique de validation utilisateur à leurs applications.

Utilisation de Flask-Login pour l'authentification de l'utilisateur

Maintenant que nous avons couvert les fonctionnalités de base de Flask-Login, voyons comment l'utiliser dans une application Flask pour l'authentification des utilisateurs.

Tout d'abord, vous devez installer la bibliothèque Flask-Login. Vous pouvez l'installer à l'aide de la commande pip :

pip install flask-login
Copier après la connexion

Une fois Flask-Login installé, vous pouvez commencer à l'utiliser. Le plus simple est de l'importer dans votre application :

from flask_login import LoginManager, UserMixin, login_required, login_user, logout_user, current_user
Copier après la connexion

Ces importations vous permettront d'utiliser les principales fonctionnalités de Flask-Login.

L'étape suivante consiste à créer une application Flask et à initialiser le LoginManager. Vous pouvez créer une application Flask appelée app comme ceci :

from flask import Flask

app = Flask(__name__)
app.secret_key = 'your secret key'

login_manager = LoginManager()
login_manager.init_app(app)
Copier après la connexion

Ici, nous avons créé une application Flask appelée app et fourni une clé à l'application afin que Flask puisse crypter le cookie de session. Par la suite, nous créons un objet LoginManager nommé login_manager et l'initialisons via la méthode init_app().

Parfois, votre application peut nécessiter un modèle utilisateur personnalisé. Dans ce cas, vous devez créer un modèle User qui étend UserMixin et implémenter certaines méthodes nécessaires (par exemple get_id()).

Voici un exemple de modèle utilisateur personnalisé simple :

class User(UserMixin):
    pass
Copier après la connexion

Maintenant, supposons que vous avez configuré votre propre modèle utilisateur et que vous souhaitez que les utilisateurs soient connectés à votre application.

Créez d'abord un itinéraire pour le panneau de contrôle d'administration et configurez-le pour autoriser uniquement l'accès aux utilisateurs connectés :

@app.route('/admin')
@login_required
def admin():
    return 'Welcome to the admin panel!'
Copier après la connexion

Cette route autorisera uniquement l'accès aux utilisateurs connectés. Si un utilisateur non connecté tente d'accéder à cette route, il sera redirigé vers la page de connexion.

Créez ensuite une route pour gérer la page de connexion de l'utilisateur :

@app.route('/login', methods=['GET', 'POST'])
def login():

    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']

        # Your authentication logic goes here

        user = User()
        user.id = username
        
        # Login the user
        login_user(user)

        return redirect(url_for('admin'))

    return render_template('login.html')
Copier après la connexion

Dans cette route, nous vérifions d'abord si la méthode demandée est POST. Si tel est le cas, nous récupérons le nom d'utilisateur et le mot de passe soumis et effectuons notre propre logique d'authentification. Nous créons ensuite un nouvel objet User et le connectons à notre application. Si la vérification réussit, nous serons redirigés vers notre panneau de contrôle d'administration.

Enfin, créez une route pour gérer la déconnexion de l'utilisateur :

@app.route('/logout')
def logout():
    logout_user()
    return redirect(url_for('index'))
Copier après la connexion

La route Logout appelle simplement la fonction logout_user() et redirige l'utilisateur vers la page d'accueil.

Conclusion

Cet article a présenté les fonctionnalités de base de Flask-Login et comment l'utiliser pour l'authentification des utilisateurs. Flask-Login est une bibliothèque Python simple et flexible qui facilite l'ajout de capacités d'authentification à vos applications Flask et fournit de nombreuses fonctionnalités utiles telles que la gestion de session, le contrôle d'accès et les flux d'authentification intégrés.

Si vous développez une application Web basée sur Python et devez authentifier les utilisateurs, Flask-Login est un premier choix à considérer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer des applications Web simples et faciles à utiliser avec React et Flask Comment créer des applications Web simples et faciles à utiliser avec React et Flask Sep 27, 2023 am 11:09 AM

Comment utiliser React et Flask pour créer des applications Web simples et faciles à utiliser Introduction : Avec le développement d'Internet, les besoins des applications Web deviennent de plus en plus diversifiés et complexes. Afin de répondre aux exigences des utilisateurs en matière de facilité d'utilisation et de performances, il devient de plus en plus important d'utiliser des piles technologiques modernes pour créer des applications réseau. React et Flask sont deux frameworks très populaires pour le développement front-end et back-end, et ils fonctionnent bien ensemble pour créer des applications Web simples et faciles à utiliser. Cet article détaillera comment exploiter React et Flask

Django vs Flask : une analyse comparative des frameworks Web Python Django vs Flask : une analyse comparative des frameworks Web Python Jan 19, 2024 am 08:36 AM

Django et Flask sont tous deux leaders dans les frameworks Web Python, et ils ont tous deux leurs propres avantages et scénarios applicables. Cet article procédera à une analyse comparative de ces deux frameworks et fournira des exemples de code spécifiques. Introduction au développement Django est un framework Web complet, son objectif principal est de développer rapidement des applications Web complexes. Django fournit de nombreuses fonctions intégrées, telles que ORM (Object Relational Mapping), formulaires, authentification, backend de gestion, etc. Ces fonctionnalités permettent à Django de gérer de grandes

Partez de zéro et vous guidez étape par étape pour installer Flask et créer rapidement un blog personnel Partez de zéro et vous guidez étape par étape pour installer Flask et créer rapidement un blog personnel Feb 19, 2024 pm 04:01 PM

En partant de zéro, je vais vous apprendre étape par étape comment installer Flask et créer rapidement un blog personnel. En tant que personne qui aime écrire, il est très important d'avoir un blog personnel. En tant que framework Web Python léger, Flask peut nous aider à créer rapidement un blog personnel simple et entièrement fonctionnel. Dans cet article, je vais repartir de zéro et vous apprendre étape par étape comment installer Flask et créer rapidement un blog personnel. Étape 1 : Installer Python et pip Avant de commencer, nous devons d'abord installer Python et pi

Guide d'installation du framework Flask : étapes détaillées pour vous aider à installer Flask correctement Guide d'installation du framework Flask : étapes détaillées pour vous aider à installer Flask correctement Feb 18, 2024 pm 10:51 PM

Tutoriel d'installation du framework Flask : vous apprendrez étape par étape comment installer correctement le framework Flask. Des exemples de code spécifiques sont requis. Introduction : Flask est un framework de développement Web Python simple et flexible. Il est facile à apprendre, facile à utiliser et doté de fonctionnalités puissantes. Cet article vous guidera étape par étape pour installer correctement le framework Flask et fournira des exemples de code détaillés pour référence. Étape 1 : installer Python Avant d'installer le framework Flask, vous devez d'abord vous assurer que Python est installé sur votre ordinateur. Vous pouvez commencer à partir de P

Comparaison des performances de Gunicorn et d'uWSGI pour le déploiement d'applications Flask Comparaison des performances de Gunicorn et d'uWSGI pour le déploiement d'applications Flask Jan 17, 2024 am 08:52 AM

Déploiement d'applications Flask : comparaison de Gunicorn et suWSGI Introduction : Flask, en tant que framework Web Python léger, est apprécié par de nombreux développeurs. Lors du déploiement d'une application Flask dans un environnement de production, le choix de l'interface de passerelle serveur (SGI) appropriée est une décision cruciale. Gunicorn et uWSGI sont deux serveurs SGI courants. Cet article les décrira en détail.

Flask vs FastAPI : le meilleur choix pour un développement efficace d'API Web Flask vs FastAPI : le meilleur choix pour un développement efficace d'API Web Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI : Le meilleur choix pour un développement efficace de WebAPI Introduction : Dans le développement de logiciels modernes, WebAPI est devenu un élément indispensable. Ils fournissent des données et des services qui permettent la communication et l'interopérabilité entre différentes applications. Lors du choix d'un framework pour développer WebAPI, Flask et FastAPI sont deux choix qui ont beaucoup retenu l'attention. Les deux frameworks sont très populaires et chacun présente ses propres avantages. Dans cet article, nous examinerons Fl

Créez des applications Web interactives de visualisation de données à l'aide de Flask et de D3.js. Créez des applications Web interactives de visualisation de données à l'aide de Flask et de D3.js. Jun 17, 2023 pm 09:00 PM

Ces dernières années, l’analyse et la visualisation des données sont devenues des compétences indispensables dans de nombreux secteurs et domaines. Il est très important pour les analystes de données et les chercheurs de présenter de grandes quantités de données aux utilisateurs et de permettre à ces derniers de comprendre la signification et les caractéristiques des données grâce à la visualisation. Pour répondre à ce besoin, il est devenu courant d'utiliser D3.js pour créer des visualisations de données interactives dans des applications Web. Dans cet article, nous verrons comment créer des visualisations de données interactives pour le Web à l'aide de Flask et D3.js.

Guide de déploiement de Gunicorn pour les applications Flask Guide de déploiement de Gunicorn pour les applications Flask Jan 17, 2024 am 08:13 AM

Comment déployer l'application Flask à l'aide de Gunicorn ? Flask est un framework Web Python léger largement utilisé pour développer divers types d'applications Web. Gunicorn (GreenUnicorn) est un serveur HTTP basé sur Python utilisé pour exécuter des applications WSGI (WebServerGatewayInterface). Cet article expliquera comment utiliser Gunicorn pour déployer des applications Flask, avec

See all articles