Pregunta

Estoy trabajando en una aplicación basada en Django en un entorno corporativo y me gustaría usar el sistema Active Directory existente para la autenticación de los usuarios (para que no obtengan otro combo de inicio de sesión / contraseña). También me gustaría seguir utilizando el sistema de autorización / permiso de usuario de Django para administrar las capacidades del usuario.

¿Alguien tiene un buen ejemplo de esto?

¿Fue útil?

Solución

Aquí hay otro fragmento más reciente (julio de 2008, actualizado en diciembre de 2015):

Autenticación contra Active Directory (LDAP) sobre SSL

Otros consejos

El enlace proporcionado por Jeff realmente funciona aunque asume que tienes un grupo predeterminado donde se agregan usuarios. Simplemente reemplacé:

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

por

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

Si desea una integración más estrecha & amp; más características también hay django-auth-ldap que le da más control sobre cómo Los usuarios / grupos de ldap se asignan a usuarios / grupos de django.

Para depurar la conexión ldap encontré este blog post útil, en particular el comando para probar la conexión ldap con 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 está usando ssl, también existe el problema de obtener un certificado con el que jugará bien. Puede extraerlo del servidor o puede seguir estas instrucciones para generar las suyas propias.

¿Qué tal eso? ¿Intentaste eso?

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

Tuve el mismo problema y noté que django-auth-ldap no es compatible con SASL en absoluto - > contraseñas de texto sin formato a través de la conexión si TSL no está disponible.

Esto es lo que hice para el problema: https://github.com/susundberg/django-auth-ldap-ad

Puede crear una subclase del backend django-auth-ldap para agregar capacidades AD a través de SASL o Kerberos o lo que sea. Aquí hay un ejemplo de 2018 trabajando en Django 2.1:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top