cubicweb/server/sources/ldapfeed.py
branch3.27
changeset 12894 ba528f08ddfa
parent 12893 4942a6ebf21b
child 12895 5a9d1e64f505
equal deleted inserted replaced
12893:4942a6ebf21b 12894:ba528f08ddfa
    28 from cubicweb.server.sources import datafeed
    28 from cubicweb.server.sources import datafeed
    29 
    29 
    30 from cubicweb import _
    30 from cubicweb import _
    31 
    31 
    32 # search scopes
    32 # search scopes
    33 BASE = ldap3.SEARCH_SCOPE_BASE_OBJECT
    33 LDAP_SCOPES = {'BASE': ldap3.SEARCH_SCOPE_BASE_OBJECT,
    34 ONELEVEL = ldap3.SEARCH_SCOPE_SINGLE_LEVEL
    34                'ONELEVEL': ldap3.SEARCH_SCOPE_SINGLE_LEVEL,
    35 SUBTREE = ldap3.SEARCH_SCOPE_WHOLE_SUBTREE
    35                'SUBTREE': ldap3.SEARCH_SCOPE_WHOLE_SUBTREE}
    36 LDAP_SCOPES = {'BASE': BASE,
    36 
    37                'ONELEVEL': ONELEVEL,
       
    38                'SUBTREE': SUBTREE}
       
    39 
    37 
    40 # map ldap protocol to their standard port
    38 # map ldap protocol to their standard port
    41 PROTO_PORT = {'ldap': 389,
    39 PROTO_PORT = {'ldap': 389,
    42               'ldaps': 636,
    40               'ldaps': 636,
    43               'ldapi': None,
    41               'ldapi': None,
   193         self.authmode = typedconfig['auth-mode']
   191         self.authmode = typedconfig['auth-mode']
   194         self._authenticate = getattr(self, '_auth_%s' % self.authmode)
   192         self._authenticate = getattr(self, '_auth_%s' % self.authmode)
   195         self.cnx_dn = typedconfig['data-cnx-dn']
   193         self.cnx_dn = typedconfig['data-cnx-dn']
   196         self.cnx_pwd = typedconfig['data-cnx-password']
   194         self.cnx_pwd = typedconfig['data-cnx-password']
   197         self.user_base_dn = str(typedconfig['user-base-dn'])
   195         self.user_base_dn = str(typedconfig['user-base-dn'])
   198         self.user_base_scope = globals()[typedconfig['user-scope']]
   196         self.user_base_scope = LDAP_SCOPES[typedconfig['user-scope']]
   199         self.user_login_attr = typedconfig['user-login-attr']
   197         self.user_login_attr = typedconfig['user-login-attr']
   200         self.user_default_groups = typedconfig['user-default-group']
   198         self.user_default_groups = typedconfig['user-default-group']
   201         self.user_attrs = {'dn': 'eid', 'modifyTimestamp': 'modification_date'}
   199         self.user_attrs = {'dn': 'eid', 'modifyTimestamp': 'modification_date'}
   202         self.user_attrs.update(typedconfig['user-attrs-map'])
   200         self.user_attrs.update(typedconfig['user-attrs-map'])
   203         self.user_rev_attrs = dict((v, k) for k, v in self.user_attrs.items())
   201         self.user_rev_attrs = dict((v, k) for k, v in self.user_attrs.items())