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, and 3.4; 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',
)

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-auth-ldap-1.2.7.tar.gz (131.4 kB view details)

Uploaded Source

Built Distributions

django_auth_ldap-1.2.7-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

django_auth_ldap-1.2.7-py2-none-any.whl (27.2 kB view details)

Uploaded Python 2

File details

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

File metadata

File hashes

Hashes for django-auth-ldap-1.2.7.tar.gz
Algorithm Hash digest
SHA256 ff6af43d5429fbd918f62c25a07e2bff916b053b46990c1b60e60de63d5f3f80
MD5 faec4c18ac1257861b299af8b22023e0
BLAKE2b-256 8ff3f46e2eaca7a3b0e3675494d419f32b8111e3da5c8eba5f0c353afca37142

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_auth_ldap-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fde9fe1e12163a41621669c5f897bb5322f83534375667297712db0d00ad0cfd
MD5 438f9f5e289823508e87095df02d0d8d
BLAKE2b-256 902e01f90358fabcfdb0381df06bf3b5d70c37124cb084699e7c4e3314985dd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_auth_ldap-1.2.7-py2-none-any.whl
Algorithm Hash digest
SHA256 76ed30eb1743bca1e0f27381844a0a9486c079ccda6be62c3da47f87572ac5a0
MD5 9638ce50805f7ed0d4536e9e2aea4dbd
BLAKE2b-256 4ca1698c9dd8049bd2061fc9820bccea9f0160fa59a3ab0fa3ca57d92e62b505

See more details on using hashes here.

Supported by

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