Authentification dans Django : authentification de l'utilisateur avec nom d'utilisateur et mot de passe

Capítulo 134

Temps de lecture estimé : 4 minutes

+ Exercice
Audio Icon

Écouter en audio

0:00 / 0:00

20.3 Authentification dans Django : authentifier les utilisateurs avec un nom d'utilisateur et un mot de passe

L'authentification des utilisateurs est un aspect crucial de toute application Web moderne. Django, un puissant framework de développement Web Python, offre un système d'authentification robuste qui permet aux développeurs d'implémenter des fonctionnalités pour authentifier les utilisateurs avec un nom d'utilisateur et un mot de passe de manière efficace et sécurisée.

Comprendre l'authentification dans Django

Django est livré avec un système d'authentification intégré qui gère l'authentification des utilisateurs, des sessions, des cookies, des autorisations et des groupes d'utilisateurs. Ce système est hautement personnalisable et extensible, permettant aux développeurs de créer des systèmes d'authentification complexes si nécessaire.

L'authentification dans Django est basée sur la session, ce qui signifie que lorsqu'un utilisateur s'authentifie avec succès, une session est créée et stockée sur le serveur. Cette session est ensuite utilisée pour suivre l'état d'authentification de l'utilisateur sur plusieurs requêtes.

Authentification des utilisateurs avec nom d'utilisateur et mot de passe

Pour authentifier un utilisateur dans Django, nous devons d'abord créer un formulaire de connexion qui permet à l'utilisateur de saisir son nom d'utilisateur et son mot de passe. Ce formulaire peut être créé à l'aide de la classe AuthenticationForm de Django.


à partir des formulaires d'importation Django
à partir de django.contrib.auth.forms importer AuthenticationForm

classe LoginForm (AuthenticationForm) :
    nom d'utilisateur = form.CharField (max_length = 254)
    mot de passe = form.CharField(widget=forms.PasswordInput)

Une fois le formulaire de connexion créé, nous pouvons l'utiliser dans notre vue de connexion pour authentifier l'utilisateur. Voici un exemple de la façon dont cela peut être réalisé :

Continuez dans notre application.
  • Écoutez le fichier audio avec l'écran éteint.
  • Obtenez un certificat à la fin du programme.
  • Plus de 5000 cours à découvrir !
Ou poursuivez votre lecture ci-dessous...
Download App

Téléchargez l'application


depuis django.contrib.auth importer authentifier, se connecter
depuis django.http importer HttpResponseRedirect
à partir du rendu d'importation de Django.shortcuts

def login_view (demande) :
    si request.method == 'POST' :
        formulaire = LoginForm (requête.POST)
        si form.is_valid() :
            nom d'utilisateur = form.cleaned_data.get('nom d'utilisateur')
            mot de passe = form.cleaned_data.get('mot de passe')
            utilisateur = authentifier (demande, nom d'utilisateur = nom d'utilisateur, mot de passe = mot de passe)
            si l'utilisateur n'est pas Aucun :
                connexion (demande, utilisateur)
                retourner HttpResponseRedirect('/success/')
    autre:
        formulaire = LoginForm()
    return render(requête, 'login.html', {'form': form})

Dans le code ci-dessus, nous avons utilisé la fonction authenticate() pour vérifier si le nom d'utilisateur et le mot de passe saisis par l'utilisateur correspondent à un utilisateur existant. Si l'utilisateur est authentifié avec succès, la fonction login() est appelée pour enregistrer la session de l'utilisateur.

Sécurité de l'authentification

Django fournit plusieurs fonctionnalités pour rendre l'authentification des utilisateurs plus sécurisée. Par exemple, le mot de passe de l'utilisateur est stocké sous forme de hachage, ce qui signifie que même si la base de données est compromise, le véritable mot de passe de l'utilisateur ne sera pas révélé. De plus, Django offre également une protection contre les attaques par force brute en limitant le nombre de tentatives de connexion infructueuses.

Il est également important de se rappeler que la sécurité de l'authentification dépend également de pratiques de codage sécurisées. Par exemple, il est important de toujours utiliser des connexions HTTPS pour protéger les informations de connexion des utilisateurs contre toute interception et de ne jamais stocker d'informations utilisateur sensibles côté client.

Conclusion

L'authentification des utilisateurs est un élément essentiel de toute application Web. Django fournit un système d'authentification robuste et sécurisé qui facilite la mise en œuvre de la fonctionnalité d'authentification des utilisateurs par nom d'utilisateur et mot de passe. Avec Django, vous pouvez vous concentrer sur la création des fonctionnalités uniques de votre application, sachant que l'authentification des utilisateurs est gérée de manière sécurisée et efficace.

Répondez maintenant à l’exercice sur le contenu :

Quelle est l’importance de l’authentification des utilisateurs dans les applications Web et comment Django aide-t-il dans ce processus ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Chapitre suivant

Authentification dans Django : Authentification de l'utilisateur avec email et mot de passe

Arrow Right Icon
Couverture de livre électronique gratuite Cours de création de système avec Python et Django terminé
76%

Cours de création de système avec Python et Django terminé

Nouveau cours

176 pages

Téléchargez l'application pour obtenir une certification gratuite et écouter des cours en arrière-plan, même avec l'écran éteint.