django-auth-ldap 1.2.2

Django LDAP authentication backend

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 tested on Python 2.6 to 2.7, Django >= 1.3, and python-ldap 2.4.13.

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_PROFILE_ATTR_MAP = {
    "employee_number": "employeeNumber"
}

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"
}

AUTH_LDAP_PROFILE_FLAGS_BY_GROUP = {
    "is_awesome": "cn=awesome,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',
)
BSD

Author

Peter Sagerson

Pip

django-auth-ldap==1.2.2

Classifiers

  • Topic :: System :: Systems Administration :: Authentication/Directory :: LDAP
  • Topic :: Software Development :: Libraries :: Python Modules
  • Topic :: Internet :: WWW/HTTP
  • Programming Language :: Python :: 3.4
  • Programming Language :: Python :: 3.3
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 2.7
  • Programming Language :: Python :: 2.6
  • Programming Language :: Python :: 2
  • Programming Language :: Python
  • License :: OSI Approved :: BSD License
  • Intended Audience :: System Administrators
  • Intended Audience :: Developers
  • Framework :: Django
  • Environment :: Web Environment
  • Development Status :: 5 - Production/Stable
File Type Python Version Uploaded On Downloads
django-auth-ldap-1.2.2.tar.gz Source Sept. 22, 2014 9,964
Version Release Date
1.2.2 Sept. 22, 2014
1.2.1 Aug. 24, 2014
1.2.0 April 10, 2014
1.1.8 Feb. 1, 2014
1.1.7 Nov. 19, 2013
1.1.6 Nov. 10, 2013
1.1.5 Oct. 26, 2013
1.1.4 March 9, 2013
1.1.3 Jan. 6, 2013
1.1.2 Aug. 30, 2012
1.1.1 July 8, 2012
1.1 May 7, 2012
1.0.19 March 25, 2012
1.0.18 March 15, 2012
1.0.17 March 5, 2012
1.0.16 March 5, 2012
1.0.15 Feb. 4, 2012
1.0.14 Dec. 29, 2011
1.0.13 Dec. 15, 2011
1.0.12 Sept. 30, 2011
1.0.11 Aug. 28, 2011
1.0.10 June 23, 2011
Date Package Version Action
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.2.1 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.2.0 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.2.2 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.19 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.18 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.11 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.10 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.13 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.12 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.15 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.14 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.17 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.0.16 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.1 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.1.8 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.1.6 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.1.7 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.1.4 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.1.5 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.1.2 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.1.3 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap 1.1.1 Release Created
Nov. 4, 2014, 12:52 p.m. django-auth-ldap Package Created