Flask Academy · Leçon

login_user, logout_user et les sessions

Connectez et déconnectez les utilisateurs d’une session.

Leçon 3 sur 413 étapes

login_user, logout_user et les sessions est une leçon Flask Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Flask Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Flask Academy comprend 4 leçons au total.

Connecter un utilisateur

Une fois le mot de passe vérifié, vous indiquez à Flask-Login que l’utilisateur est connecté en appelant login_user. Cet appel unique configure la session pour vous.

from flask_login import login_user
login_user(user)

Une route de connexion classique

Dans une vue de connexion, vous recherchez l’utilisateur, vérifiez le mot de passe, puis appelez login_user. Ensuite, redirigez-le vers une véritable page, comme le tableau de bord.

if user and user.check_password(pw):
    login_user(user)
    return redirect(url_for("dashboard"))

Ce que login_user stocke

login_user n’enregistre pas l’objet entier. Il écrit l’identifiant de l’utilisateur dans le cookie de session, puis votre user_loader reconstruit l’utilisateur plus tard.

Se souvenir de moi

Transmettez remember=True pour que l’utilisateur reste connecté après la fermeture du navigateur. Flask-Login définit alors un cookie longue durée au lieu d’un cookie limité à la session.

login_user(user, remember=True)

Accéder à current_user

Dans n’importe quelle vue, vous pouvez lire current_user pour obtenir la personne connectée. Il s’agit d’un proxy qui pointe toujours vers l’utilisateur de la requête active.

from flask_login import current_user
name = current_user.username

Utilisateurs anonymes

Si personne n’est connecté, current_user est un objet utilisateur anonyme. Sa propriété is_authenticated vaut False, vous pouvez donc effectuer ce test sans risque.

if current_user.is_authenticated:
    show_dashboard()

Déconnecter un utilisateur

Pour déconnecter un utilisateur, appelez logout_user. Son identifiant est supprimé de la session afin que la requête suivante le considère de nouveau comme anonyme.

from flask_login import logout_user
logout_user()

Une route de déconnexion

Une vue de déconnexion est très courte : appelez logout_user, puis redirigez vers l’accueil. Il n’y a aucun mot de passe à vérifier, seulement la session à effacer.

@app.route("/logout")
def logout():
    logout_user()
    return redirect(url_for("index"))

Clé secrète requise

Les sessions circulent dans un cookie signé, votre application a donc besoin d’une SECRET_KEY. Sans elle, login_user provoque une erreur et rien ne fonctionne.

app.config["SECRET_KEY"] = "a-long-random-value"

Les sessions sont propres à chaque utilisateur

Chaque navigateur reçoit son propre cookie signé, deux utilisateurs ne voient donc jamais la session de l’autre. Flask-Login les sépare proprement.

Accueillir l’utilisateur

Dans les modèles, vous pouvez également utiliser current_user, puisque Flask-Login l’injecte. Créer une barre de navigation personnalisée ne prend ainsi qu’une ligne.

<p>Hello, {{ current_user.username }}</p>

Vérification rapide

Un utilisateur clique sur Se déconnecter. Quel appel met fin à sa session ?

Récapitulatif

Vous appelez maintenant login_user après la vérification d’un mot de passe, vous lisez current_user où vous le souhaitez et vous appelez logout_user pour terminer une session. Une SECRET_KEY relie le tout. 🔑

Gratuit pour commencer

Apprends Python avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « login_user, logout_user et les sessions » est-elle gratuite ?

Oui — le texte complet de « login_user, logout_user et les sessions » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Flask Academy, passe à CoddyKit PRO. Le cours Flask Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « login_user, logout_user et les sessions » ?

Connectez et déconnectez les utilisateurs d’une session. Tu pratiques Flask Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Flask Academy ?

Aucune expérience préalable n'est requise. Flask Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « login_user, logout_user et les sessions » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Flask Academy ?

Oui. Chaque leçon Flask Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Hacher les mots de passe, ne jamais les stocker en clair
  2. Chargeur d’utilisateurs et UserMixin
  3. login_user, logout_user et les sessions
  4. Protéger les vues avec login_required
← Retour à Flask Academy