Intégration LDAP pour la connexion des autres utilisateurs #12
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Fred/gwift-book#12
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Title: Django & authentification LDAP
Date: 2015-02-27
Status: Draft
En créant une nouvelle application avec Django, on crée par défaut un système d'authentification des utilisateurs. Ceci est géré par
django.contrib.auth
que l'on retrouve dans lesINSTALLED_APPS
du fichier de configuration.En entreprise, on sera tenté de se greffer sur l'annuaire LDAP déjà présent, pour éviter de gérer les mots de passe de chaque nouvel utilisateur. Pour cela, Makina-Corpus propose de combiner une authentification LDAP et l'authentification classique de Django. Pour la suite, je me baserai en partie sur ce qui a déjà été écrit sur le sujet.
Tout d'abord, Django autorise la surchage du système d'authentification. On peut définir un nouveau backend, se baser sur celui qui existe déjà, étendre le modèle d'utilisateur, ajouter de nouvelles permissions... Tout cela est décrit dans la documentation.
Pour étendre le modèle, on crée simplement une nouvelle classe qui hérite de
django.contrib.auth.models.AbstractUser
, et on y ajoute un champ permettant de définir si cet utilisateur provient de l'annuaire ou a été créé directement dans la base de données: