cubicweb/server/sources/ldapfeed.py
branch3.26
changeset 12901 1206b6fa1173
parent 12153 0ff0aff4413d
child 12902 5c35b94debfc
equal deleted inserted replaced
12877:2233a2ee658f 12901:1206b6fa1173
    32 from cubicweb.server.sources import datafeed
    32 from cubicweb.server.sources import datafeed
    33 
    33 
    34 from cubicweb import _
    34 from cubicweb import _
    35 
    35 
    36 # search scopes
    36 # search scopes
    37 BASE = ldap3.SEARCH_SCOPE_BASE_OBJECT
    37 LDAP_SCOPES = {'BASE': ldap3.SEARCH_SCOPE_BASE_OBJECT,
    38 ONELEVEL = ldap3.SEARCH_SCOPE_SINGLE_LEVEL
    38                'ONELEVEL': ldap3.SEARCH_SCOPE_SINGLE_LEVEL,
    39 SUBTREE = ldap3.SEARCH_SCOPE_WHOLE_SUBTREE
    39                'SUBTREE': ldap3.SEARCH_SCOPE_WHOLE_SUBTREE}
    40 LDAP_SCOPES = {'BASE': BASE,
    40 
    41                'ONELEVEL': ONELEVEL,
       
    42                'SUBTREE': SUBTREE}
       
    43 
    41 
    44 # map ldap protocol to their standard port
    42 # map ldap protocol to their standard port
    45 PROTO_PORT = {'ldap': 389,
    43 PROTO_PORT = {'ldap': 389,
    46               'ldaps': 636,
    44               'ldaps': 636,
    47               'ldapi': None,
    45               'ldapi': None,
   197         self.authmode = typedconfig['auth-mode']
   195         self.authmode = typedconfig['auth-mode']
   198         self._authenticate = getattr(self, '_auth_%s' % self.authmode)
   196         self._authenticate = getattr(self, '_auth_%s' % self.authmode)
   199         self.cnx_dn = typedconfig['data-cnx-dn']
   197         self.cnx_dn = typedconfig['data-cnx-dn']
   200         self.cnx_pwd = typedconfig['data-cnx-password']
   198         self.cnx_pwd = typedconfig['data-cnx-password']
   201         self.user_base_dn = str(typedconfig['user-base-dn'])
   199         self.user_base_dn = str(typedconfig['user-base-dn'])
   202         self.user_base_scope = globals()[typedconfig['user-scope']]
   200         self.user_base_scope = LDAP_SCOPES[typedconfig['user-scope']]
   203         self.user_login_attr = typedconfig['user-login-attr']
   201         self.user_login_attr = typedconfig['user-login-attr']
   204         self.user_default_groups = typedconfig['user-default-group']
   202         self.user_default_groups = typedconfig['user-default-group']
   205         self.user_attrs = {'dn': 'eid', 'modifyTimestamp': 'modification_date'}
   203         self.user_attrs = {'dn': 'eid', 'modifyTimestamp': 'modification_date'}
   206         self.user_attrs.update(typedconfig['user-attrs-map'])
   204         self.user_attrs.update(typedconfig['user-attrs-map'])
   207         self.user_rev_attrs = dict((v, k) for k, v in self.user_attrs.items())
   205         self.user_rev_attrs = dict((v, k) for k, v in self.user_attrs.items())