Ответ 1
Вот еще один новый фрагмент (июль 2008):
Я работаю над приложением, основанным на Django, в корпоративной среде и хотел бы использовать существующую систему Active Directory для аутентификации пользователей (поэтому у них нет еще одной комбинации входа/пароля). Я также хотел бы продолжать использовать систему авторизации/разрешения пользователя Django для управления возможностями пользователя.
Есть ли у кого хороший пример?
Вот еще один новый фрагмент (июль 2008):
Ссылка, предоставленная Джеффом, действительно работает, хотя предполагает, что у вас есть группа по умолчанию, в которую пользователи добавляются. Я просто заменил:
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, есть проблема с получением сертификата, который будет хорошо работать. Либо вы извлекаете его с сервера, либо можете следовать этим инструкциям, чтобы создать свой собственный.
Как насчет этого? Вы попробовали этот?
У меня была такая же проблема, и заметил, что django-auth-ldap вообще не поддерживает SASL → пароли обычного текста по соединению, если TSL недоступен.
Вот что я сделал для проблемы: https://github.com/susundberg/django-auth-ldap-ad