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.14b1.tar.gz (141.7 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.14b1-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

django_auth_ldap-1.2.14b1-py2-none-any.whl (30.2 kB view details)

Uploaded Python 2

File details

Details for the file django-auth-ldap-1.2.14b1.tar.gz.

File metadata

File hashes

Hashes for django-auth-ldap-1.2.14b1.tar.gz
Algorithm Hash digest
SHA256 dbdd4bb683d00c1a72529f66221e5c51bbb3eebeb65f1d1d60685812d40060c3
MD5 cef4f984602954cec812f3fb5e60f7e6
BLAKE2b-256 3c297532bbfbcf8c18690c92b3eac6c1ebbc28a49506a10d5360c15f17eb3a03

See more details on using hashes here.

File details

Details for the file django_auth_ldap-1.2.14b1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_auth_ldap-1.2.14b1-py3-none-any.whl
Algorithm Hash digest
SHA256 61b51f3fcf39428ee8cfa47dddf1594ae9e54154c92de772d94935a927764cf0
MD5 37ace623781f6ca045adfc56abe0e620
BLAKE2b-256 f2ea0eff576737d061ccdabc725a9a1006b9d59aada4b5ad604f1c2e77e73684

See more details on using hashes here.

File details

Details for the file django_auth_ldap-1.2.14b1-py2-none-any.whl.

File metadata

File hashes

Hashes for django_auth_ldap-1.2.14b1-py2-none-any.whl
Algorithm Hash digest
SHA256 b1d9f857502e1fdaeeb123fc32c16e274e3f02c812eaefbbff9ba6a815ea6dc7
MD5 e4cb1374bc7eaacf0da9a05e4517d40e
BLAKE2b-256 60669cf52c9430313e981891e2bab788cdefdd83ffa005df3b5a61f6ca13c4a3

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