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é :


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.

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

Page suivante de lebook gratuit :

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

3 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte