Skip to main content

Django LDAP authentication backend

Project description

This is a Django authentication backend that authenticates against an LDAP service. Configuration can be as simple as a single distinguished name template, but there are many rich configuration options for working with users, groups, and permissions.

This version is supported on Python 2.6, 2.7, 3.3, 3.4, 3.5, and 3.6; and Django >= 1.3. Under Python 2, it requires python-ldap >= 2.0; under Python 3, it uses pyldap.

Full documentation can be found at http://pythonhosted.org/django-auth-ldap/; following is an example configuration, just to whet your appetite:

import ldap
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType


# Baseline configuration.
AUTH_LDAP_SERVER_URI = "ldap://ldap.example.com"

AUTH_LDAP_BIND_DN = "cn=django-agent,dc=example,dc=com"
AUTH_LDAP_BIND_PASSWORD = "phlebotinum"
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=users,dc=example,dc=com",
    ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
# or perhaps:
# AUTH_LDAP_USER_DN_TEMPLATE = "uid=%(user)s,ou=users,dc=example,dc=com"

# Set up the basic group parameters.
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=django,ou=groups,dc=example,dc=com",
    ldap.SCOPE_SUBTREE, "(objectClass=groupOfNames)"
)
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType()

# Simple group restrictions
AUTH_LDAP_REQUIRE_GROUP = "cn=enabled,ou=django,ou=groups,dc=example,dc=com"
AUTH_LDAP_DENY_GROUP = "cn=disabled,ou=django,ou=groups,dc=example,dc=com"

# Populate the Django user from the LDAP directory.
AUTH_LDAP_USER_ATTR_MAP = {
    "first_name": "givenName",
    "last_name": "sn",
    "email": "mail"
}

AUTH_LDAP_USER_FLAGS_BY_GROUP = {
    "is_active": "cn=active,ou=django,ou=groups,dc=example,dc=com",
    "is_staff": "cn=staff,ou=django,ou=groups,dc=example,dc=com",
    "is_superuser": "cn=superuser,ou=django,ou=groups,dc=example,dc=com"
}

# Use LDAP group membership to calculate group permissions.
AUTH_LDAP_FIND_GROUP_PERMS = True

# Cache group memberships for an hour to minimize LDAP traffic
AUTH_LDAP_CACHE_GROUPS = True
AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600


# Keep ModelBackend around for per-user permissions and maybe a local
# superuser.
AUTHENTICATION_BACKENDS = (
    'django_auth_ldap.backend.LDAPBackend',
    'django.contrib.auth.backends.ModelBackend',
)

Download files

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

Source Distribution

django-auth-ldap-1.2.11.tar.gz (133.2 kB view details)

Uploaded Source

Built Distributions

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

django_auth_ldap-1.2.11-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

django_auth_ldap-1.2.11-py2-none-any.whl (27.5 kB view details)

Uploaded Python 2

File details

Details for the file django-auth-ldap-1.2.11.tar.gz.

File metadata

File hashes

Hashes for django-auth-ldap-1.2.11.tar.gz
Algorithm Hash digest
SHA256 11fb7b218b0c9c8d4d65021f6d48674a2019e5f2f5a146b21cf5c63ea79b2753
MD5 cb0da2e0a4ce2bb5c2f63f6145b5c75d
BLAKE2b-256 2f2ee817f5c5d802017a189e65795b96a860501421a97b9ff35aa667518df12c

See more details on using hashes here.

File details

Details for the file django_auth_ldap-1.2.11-py3-none-any.whl.

File metadata

File hashes

Hashes for django_auth_ldap-1.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 8b7d55a2972c9412172c2032e9b7b096e698d3243c886d14340aed27583d3b93
MD5 51a8086a44e2c2a704a6f19799d04244
BLAKE2b-256 3d49216c8467f3d8c11db09241a482b01e60de853e1f9200851822de752afc27

See more details on using hashes here.

File details

Details for the file django_auth_ldap-1.2.11-py2-none-any.whl.

File metadata

File hashes

Hashes for django_auth_ldap-1.2.11-py2-none-any.whl
Algorithm Hash digest
SHA256 018823224bdb69f548fc73e89c50d340687c17c91f78ea411ab1517958fc946c
MD5 506fdaaf8cf78fceefb301f0d375ff1b
BLAKE2b-256 392173af578fb7a295708ab5e57a126aec544ea113a6d787a07f46d177831546

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