Подтвердить что ты не робот

Использование AD в качестве аутентификации для Django

Я работаю над приложением, основанным на Django, в корпоративной среде и хотел бы использовать существующую систему Active Directory для аутентификации пользователей (поэтому у них нет еще одной комбинации входа/пароля). Я также хотел бы продолжать использовать систему авторизации/разрешения пользователя Django для управления возможностями пользователя.

Есть ли у кого хороший пример?

4b9b3361

Ответ 2

Ссылка, предоставленная Джеффом, действительно работает, хотя предполагает, что у вас есть группа по умолчанию, в которую пользователи добавляются. Я просто заменил:

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

по

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

Если вам нужна более тесная интеграция и дополнительные функции, есть django-auth-ldap, который дает вам больше контроля над отображением пользователей/группы ldap на пользователей/групп django.

Для отладки ldap-подключения я нашел этот пост в блоге, в частности, команду для тестирования соединения ldap с 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

Если вы используете ssl, есть проблема с получением сертификата, который будет хорошо работать. Либо вы извлекаете его с сервера, либо можете следовать этим инструкциям, чтобы создать свой собственный.

Ответ 4

У меня была такая же проблема, и заметил, что django-auth-ldap вообще не поддерживает SASL → пароли обычного текста по соединению, если TSL недоступен.

Вот что я сделал для проблемы: https://github.com/susundberg/django-auth-ldap-ad