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.10.tar.gz (132.8 kB view details)

Uploaded Source

Built Distributions

django_auth_ldap-1.2.10-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

django_auth_ldap-1.2.10-py2-none-any.whl (27.4 kB view details)

Uploaded Python 2

File details

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

File metadata

File hashes

Hashes for django-auth-ldap-1.2.10.tar.gz
Algorithm Hash digest
SHA256 f6680f0632a9c761e638aa4a5bd659a1e91eb6c872f7c58b3681796522997b30
MD5 b691f23beebada5dddfb81bb1de0913a
BLAKE2b-256 f061ee4aba6033144c2438b4fab6f84b34b941ca91542accd0d5ea954c6d5549

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_auth_ldap-1.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 f7382e8f710d3c1c3444aab67f96fd7b994d5da1747200256e78ab0cc1230e56
MD5 eb3f8bd673479b8f54b25418ca3bd1dc
BLAKE2b-256 63efa27ecf90ad5f64c54a30bc1c267c37b0201c651326922366bdaf0834130e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_auth_ldap-1.2.10-py2-none-any.whl
Algorithm Hash digest
SHA256 038b12c52f71ca6deec1fc6bbb0795ce516bad74dcb3399f2fab1aec9b30dce6
MD5 762884dbdc719957bfa64b474af5fe84
BLAKE2b-256 828e5eaf9650e3d2d7180b3f0e1caf6d1650470c7e9e8e74af294bf76e7a5da8

See more details on using hashes here.

Supported by

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