Question

Je travaille sur une application basée sur Django dans un environnement d'entreprise et souhaite utiliser le système Active Directory existant pour l'authentification des utilisateurs (afin qu'ils ne disposent pas d'un autre combo nom d'utilisateur / mot de passe). Je souhaite également continuer à utiliser le système de permission utilisateur de Django pour gérer les capacités de l'utilisateur.

Quelqu'un at-il un bon exemple de cela?

Était-ce utile?

La solution

Voici un autre extrait de code plus récent (juillet 2008, mis à jour en décembre 2015):

Authentification via Active Directory (LDAP) via SSL

Autres conseils

Le lien fourni par Jeff fonctionne, même s’il suppose que vous avez un groupe par défaut auquel les utilisateurs sont ajoutés. J'ai simplement remplacé:

group=Group.objects.get(pk=1)

par

group,created=Group.objects.get_or_create(name="everyone")

Si vous souhaitez une intégration plus étroite & amp; django-auth-ldap , qui vous donne plus de contrôle sur la manière dont Les utilisateurs / groupes LDAP sont mappés sur les utilisateurs / groupes Django.

Pour le débogage de la connexion LDAP, j'ai trouvé ce blog post utile, en particulier la commande permettant de tester la connexion LDAP avec ldap-utils:

ldapsearch -H ldaps://ldap-x.companygroup.local:636 -D "CN=Something LDAP,OU=Random Group,DC=companygroup,DC=local" -w "p4ssw0rd" -v -d 1

Si vous utilisez ssl, le problème est également de pouvoir vous procurer un certificat. Soit vous l'extrayez du serveur, soit vous pouvez suivre ces instructions pour générer les vôtres.

Comment ça? Avez-vous essayé celui-là?

http://www.djangosnippets.org/snippets/501/

J'ai eu le même problème et j'ai remarqué que django-auth-ldap ne supportait pas du tout SASL - > mots de passe en clair sur la connexion si TSL n’est pas disponible.

Voici ce que j'ai fait pour le problème: https://github.com/susundberg/django-auth-ldap-ad

Vous pouvez sous-classer le backend django-auth-ldap pour ajouter des fonctionnalités AD sur SASL, Kerberos ou autre. Voici un exemple 2018 fonctionnant dans Django 2.1:

https://partofthething.com/ Thoughts/authenticating-and-populating-users-in-django-using-a-windows-active-directory-and-sasl/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top