Skip to main content

Django authentication backend for Active Directory/LDAP via ldap3 with optional admin-configurable settings.

Project description

django-ldap3-auth

Простой backend для аутентификации Django через Active Directory/LDAP (библиотека ldap3).

Установка

pip install django-ldap3-auth

Настройка

В settings.py:

INSTALLED_APPS = [
    # ...
    'django_ldap3_auth',
]

AUTHENTICATION_BACKENDS = [
    'django_ldap3_auth.backends.LDAPBackend',
    'django.contrib.auth.backends.ModelBackend',  # на случай суперпользователя из БД
]

# Базовые параметры
LDAP_HOST = 'dc01.example.local'  # или dc.example.com
LDAP_PORT = 389  # 636 для LDAPS
LDAP_USE_SSL = False  # True для LDAPS
LDAP_BASE_DN = 'DC=example,DC=local'

# Как искать пользователя в AD
LDAP_SEARCH_FILTER = '(&(objectClass=user)(sAMAccountName={username}))'
LDAP_SEARCH_ATTRS = ['cn', 'mail', 'givenName', 'sn', 'memberOf', 'userPrincipalName']

# Сервисная учётка для поиска (опционально, но рекомендуется)
LDAP_BIND_DN = 'svc_ldap@example.local'  # или 'EXAMPLE\\svc_ldap'
LDAP_BIND_PASSWORD = os.getenv('LDAP_BIND_PASSWORD', '')

# Политики создания/обновления локального пользователя
LDAP_DEFAULT_EMAIL_DOMAIN = 'example.local'  # если в AD нет e-mail
LDAP_MAP_FIRST_NAME = 'givenName'  # из каких атрибутов AD брать имя/фамилию
LDAP_MAP_LAST_NAME = 'sn'

# Маппинг групп AD → права в Django
LDAP_SUPERUSER_GROUP = 'CN=GG_Django_Admins,OU=Groups,DC=example,DC=local'
LDAP_STAFF_GROUP = 'CN=GG_Django_Staff,OU=Groups,DC=example,DC=local'

# Разрешить переопределение настроек из БД (единичная запись в модели LDAPConfig)
LDAP_USE_DB_CONFIG = True

После этого выполните миграции:

python manage.py migrate

И попробуйте войти в /admin под учётной записью AD.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_ldap3_auth-0.1.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_ldap3_auth-0.1.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file django_ldap3_auth-0.1.0.tar.gz.

File metadata

  • Download URL: django_ldap3_auth-0.1.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for django_ldap3_auth-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6d7f8cf071deab3fe64898d314a8f6b5b6fde53277fb55bce52dcbd3f5e8fcec
MD5 b0848291f882fb01c77e16bc60f34b33
BLAKE2b-256 9429d8d1032d2e14cf6a694f289e84bde1841ca35e35db33f58dcad8a216c716

See more details on using hashes here.

File details

Details for the file django_ldap3_auth-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_ldap3_auth-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 982a5199f75d234ec106afd0f3158af717598cdd587a5c7eed0eeae4ccd63557
MD5 e089ef8306b00627c8c62263b343f31f
BLAKE2b-256 d034fe9a89d92e1fa26d42db10cc99d2610098681e056b3192789179b726a1b7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page