Advertisement
Guest User

Untitled

a guest
Mar 1st, 2017
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. import ldap
  2. import os
  3. from ast import literal_eval as le
  4. from .default import str2bool
  5. from django_auth_ldap.config import (ActiveDirectoryGroupType,
  6. LDAPSearch,
  7. MemberDNGroup)
  8.  
  9.  
  10. if os.environ.get('AUTH_LDAP_DEBUG'):
  11. import logging
  12.  
  13. logger = logging.getLogger('django_auth_ldap')
  14. logger.addHandler(logging.StreamHandler())
  15. logger.setLevel(logging.DEBUG)
  16.  
  17. AUTH_LDAP_SERVER_URI = os.environ.get('AUTH_LDAP_SERVER_URI', None)
  18. LDAP_SEARCH_DN = os.environ.get('LDAP_SEARCH_DN', None)
  19. if str2bool(os.environ.get('LDAP_IS_AD', 'False')):
  20. AUTH_LDAP_USER = '(SAMAccountName=%(user)s)'
  21. LDAP_EMAIL_MAP = 'userPrincipalName'
  22. AUTH_LDAP_GROUP_TYPE = ActiveDirectoryGroupType()
  23. else:
  24. AUTH_LDAP_USER = '(uid=%(user)s)'
  25. LDAP_EMAIL_MAP = 'mail'
  26. AUTH_LDAP_GROUP_TYPE = MemberDNGroup()
  27.  
  28. AUTHENTICATION_BACKENDS = (
  29. 'django_auth_ldap.backend.LDAPBackend',
  30. 'django.contrib.auth.backends.ModelBackend',
  31. 'guardian.backends.ObjectPermissionBackend',
  32. )
  33. AUTH_LDAP_BIND_DN = os.environ.get('AUTH_LDAP_BIND_DN', '')
  34. AUTH_LDAP_BIND_PASSWORD = os.environ.get('AUTH_LDAP_BIND_PASSWORD', '')
  35. AUTH_LDAP_USER_ATTR_MAP = {
  36. 'first_name': 'givenName', 'last_name': 'sn', 'email': LDAP_EMAIL_MAP,
  37. }
  38. AUTH_LDAP_USER_SEARCH = LDAPSearch(LDAP_SEARCH_DN,
  39. ldap.SCOPE_SUBTREE, AUTH_LDAP_USER)
  40.  
  41. # ldap django search mappings
  42. GROUP_SEARCH = os.environ.get('AUTH_LDAP_GROUP_SEARCH', None)
  43. if GROUP_SEARCH:
  44. AUTH_LDAP_USER_FLAGS_BY_GROUP = {}
  45. AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
  46. GROUP_SEARCH,
  47. ldap.SCOPE_SUBTREE,
  48. "(objectClass=organizationalUnit)"
  49. )
  50.  
  51. ACTIVE_SEARCH = os.environ.get('LDAP_ACTIVE_SEARCH', None)
  52. STAFF_SEARCH = os.environ.get('LDAP_STAFF_SEARCH', None)
  53. SU_SEARCH = os.environ.get('LDAP_SUPERUSER_SEARCH', None)
  54.  
  55. if ACTIVE_SEARCH and len(ACTIVE_SEARCH) > 0:
  56. try:
  57. AUTH_LDAP_USER_FLAGS_BY_GROUP['is_active'] = le(
  58. ACTIVE_SEARCH
  59. )
  60. except SyntaxError:
  61. AUTH_LDAP_USER_FLAGS_BY_GROUP['is_active'] = ACTIVE_SEARCH
  62. if STAFF_SEARCH and len(STAFF_SEARCH) > 0:
  63. try:
  64. AUTH_LDAP_USER_FLAGS_BY_GROUP['is_staff'] = le(
  65. STAFF_SEARCH
  66. )
  67. except SyntaxError:
  68. AUTH_LDAP_USER_FLAGS_BY_GROUP['is_staff'] = STAFF_SEARCH
  69. if SU_SEARCH and len(SU_SEARCH) > 0:
  70. try:
  71. AUTH_LDAP_USER_FLAGS_BY_GROUP['is_superuser'] = le(
  72. SU_SEARCH
  73. )
  74. except SyntaxError:
  75. AUTH_LDAP_USER_FLAGS_BY_GROUP['is_superuser'] = SU_SEARCH
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement