diff --git a/shortcuts.py b/shortcuts.py index fa955e6..adc70f4 100644 --- a/shortcuts.py +++ b/shortcuts.py @@ -92,8 +92,6 @@ def lc_ldap_local(*args, **kwargs): qui est problématique). """ - auth_dn = secrets.get('ldap_readonly_auth_dn') - auth_pw = secrets.get('ldap_readonly_password') if os.path.exists('/var/run/slapd/ldapi'): ro_uri = 'ldapi://%2fvar%2frun%2fslapd%2fldapi/' elif os.path.exists('/var/run/ldapi'): @@ -101,11 +99,20 @@ def lc_ldap_local(*args, **kwargs): else: ro_uri = 'ldap://127.0.0.1' kwargs["uri"] = ro_uri - kwargs["dn"] = auth_dn - kwargs["cred"] = auth_pw + if not kwargs.has_key('dn'): + kwargs['dn'] = secrets.get('ldap_readonly_auth_dn') + if not kwargs.has_key('cred'): + kwargs['cred'] = secrets.get('ldap_readonly_password') kwargs.setdefault("user", current_user) return module_qui_a_le_meme_nom_que_sa_classe_principale.lc_ldap(*args, **kwargs) +def lc_ldap_anonymous(*args, **kwargs): + kwargs.update({ + 'user': None, + 'dn': None, + 'cred': None, + }) + return lc_ldap_local(*args, **kwargs) class with_ldap_conn(object): """Décorateur (instance = decorator) pour les fonctions nécessitant une