Pergunta

Eu estou trabalhando em um aplicativo baseado em Django em um ambiente corporativo e gostaria de usar o sistema existente do Active Directory para autenticação de usuários (para que eles não recebem mais um login / combinação senha). Eu também gostaria de continuar a usar o sistema de autorização de usuário / permissão de Django para gerenciar recursos de usuário.

Alguém tem um bom exemplo disso?

Foi útil?

Solução

Aqui está outro trecho mais recente (Julho de 2008, atualizado em dezembro 2015):

Autenticação Contra Active Directory (LDAP) sobre SSL

Outras dicas

O link fornecido por Jeff fato funciona embora ele assume que você tem um você tem um grupo padrão onde os usuários são adicionados. Eu simplesmente substituídos:

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

por

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

Se você quer uma integração mais estreita e mais recursos, há também django-auth-ldap o que lhe dá mais controle sobre como os usuários LDAP / grupo são mapeadas em Django usuários / grupos.

Para depurar a conexão LDAP achei neste blog pós útil, em particular o comando para testar a conexão LDAP com 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

Se você estiver usando SSL, há também a questão da espera obter de um certificado vai jogar bonito com. Ou você extraí-lo a partir do servidor, ou você pode seguir estas instruções para gerar o seu próprio.

Como sobre isso? Você tentou que um?

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

Eu tive o mesmo problema, e notou que django-auth-ldap não suporta SASL em tudo -.> Senhas de texto simples através da conexão se TSL não está disponível

Aqui está o que eu fiz para o problema: https://github.com/susundberg/django-auth-ldap-ad

Você pode subclasse o backend django-auth-ldap para adicionar capacidades AD mais com SASL ou Kerberos ou o que quer. Aqui está um exemplo de trabalho 2018 no Django 2.1:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top