import ldap
from django_auth_ldap.config
import LDAPSearch, GroupOfNamesType
Baseline configuration.
AUTH_LDAP_SERVER_URI = 'ldap://sub.domain.com'
AUTH_LDAP_BIND_DN = 'CN=Bind Account,CN=Users,DC=ad,DC=users,DC=com'
AUTH_LDAP_BIND_PASSWORD = 'passwrd'
AUTH_LDAP_USER_SEARCH = LDAPSearch(
'OU=XXX,DC=users,DC=yyy,DC=com',
ldap.SCOPE_SUBTREE,
'(uid=%(user)s)',
)
AUTH_LDAP_USER_DN_TEMPLATE = "uid=%(user)s,OU=XXX,DC=users,DC=yyy,DC=com"
AUTH_LDAP_GROUP_BASE = "OU=XXX,DC=users,DC=yyy,DC=com"
AUTH_LDAP_GROUP_FILTER = 'member={0}'
Set up the basic group parameters.
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
AUTH_LDAP_GROUP_BASE,
ldap.SCOPE_SUBTREE,
AUTH_LDAP_GROUP_FILTER,
)
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr='CN')
Simple group restrictions
AUTH_LDAP_REQUIRE_GROUP = 'CN=enabled,OU=XXX,OU=groups,DC=users,DC=yyy,DC=com'
AUTH_LDAP_DENY_GROUP = 'CN=disabled,OU=XXX,OU=groups,DC=users,DC=yyy,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=Bind Account,CN=Users,DC=ad,DC=users,DC=com',
'is_staff': 'CN=Bind Account,CN=Users,DC=ad,DC=users,DC=com',
'is_superuser': 'CN=Bind Account,CN=Users,DC=ad,DC=users,DC=com',
}
view.py
user_obj = authenticate(request, username='userid', password='passwrd')
user_detail = login(request, user_obj, backend='django.contrib.auth.backends.ModelBackend')
I'm getting the below error, 'AnonymousUser' object has no attribute '_meta'
I tried the below code also,
conn = ldap.initialize('ldap://sub.domain.com')
result = conn.search_s('CN=Bind Account,CN=Users,DC=ad,DC=users,DC=com',ldap.SCOPE_SUBTREE, '(objectClass=*)')
For the above code, I got a different error,
NO_SUCH_OBJECT at /
{'msgtype': 101, 'msgid': 1, 'result': 32, 'desc': 'No such object', 'ctrls': [], 'matched': 'DC=ad,DC=users,DC=com', 'info': "0000208D: NameErr: DSID-03152973, problem 2001 (NO_OBJECT), data 0, best match of:\n\t'DC=ad,DC=users,DC=com'\n"}