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