django_auth_ldap vs postgres db с использованием моделей django
Я создаю приложение, в котором я храню ПОЛЬЗОВАТЕЛЕЙ в базе данных Postgres с помощью стандартной модели пользователя. В своем приложении Django я использую запросы Django для получения всей необходимой информации, такой как "имя_первого имени", "имя пользователя" и т. Д.
Я реализовал Django_auth_ldap, чтобы начать хранить идентификационные данные пользователя на сервере Openldap, если я хочу. Но теперь я запутался в том, как получить данные, которые я использовал для получения запросов django.
я не хочу менять поведение в своих представлениях, я хочу продолжать использовать запросы Django
1 ответ
Похоже, что это описывает кое-что из того, что вы хотите: https://django-auth-ldap.readthedocs.io/en/latest/users.html
Вы можете выполнить произвольное заполнение ваших пользовательских моделей, добавив слушателей к
Django signal: django_auth_ldap.backend.populate_user
, Этот сигнал отправляется после того, как пользовательский объект был создан (но не обязательно сохранен) и применено любое настроенное сопоставление атрибутов (см. Ниже). Вы можете использовать это для распространения информации из каталога LDAP на объект пользователя любым удобным вам способом. Если вам нужно, чтобы пользовательский объект существовал в базе данных на данный момент, вы можете сохранить его в своем обработчике сигналов или переопределитьget_or_build_user()
, В любом случае пользовательский экземпляр будет сохранен автоматически после запуска обработчиков сигналов.