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()) |