Django contient un système d’authentification des utilisateurs. Il gère des comptes utilisateur, des groupes, des permissions et des sessions utilisateur basées sur les cookies. Cette section de la documentation expose le fonctionnement par défaut de l’authentification et présente également la manière d”étendre et de personnaliser ce système pour l’adapter aux besoins de votre projet.
Le système d’authentification de Django gère aussi bien l’authentification que l’autorisation. En bref, l’authentification vérifie que l’utilisateur est bien celui qu’il prétend être et l’autorisation détermine ce qu’un utilisateur authentifié est autorisé à faire. Ici, nous utiliserons le terme authentification pour nous référer à ces deux tâches.
Le système d’authentification consiste en :
Le système d’authentification de Django est conçu de manière très générique et ne fournit pas certaines fonctionnalités couramment présentes dans les systèmes d’authentification sur le Web. Des solutions pour certains de ces problèmes courants ont été implémentées dans des paquets externes :
La prise en charge de l’authentification est intégrée dans Django sous forme de module contribué dans django.contrib.auth
. Par défaut, la configuration requise est déjà incluse dans le fichier settings.py
généré par la commande django-admin startproject
. Cette configuration consiste en deux éléments figurant dans le réglage INSTALLED_APPS
:
'django.contrib.auth'
contient le cœur du système d’authentification et ses modèles par défaut.'django.contrib.contenttypes'
est le système de types de contenu de Django qui permet d’associer des permissions aux modèles que vous créez.et ces lignes dans le réglage MIDDLEWARE
:
SessionMiddleware
gère les sessions tout au long des requêtes.AuthenticationMiddleware
associe les utilisateurs aux requêtes en utilisant les sessions.Avec ces réglages configurés, le lancement de la commande manage.py migrate
crée les tables de base de données nécessaires pour les modèles liés à l’authentification et crée les permissions de tous les modèles définis dans les applications installées.
Utilisation de l’implémentation par défaut de Django
Référence de l’API de l’implémentation par défaut
avr. 06, 2021