On peux binder anonymement si on utilise la socket.
darcs-hash:20041009161446-41617-aeeb51dc5107366fdcf45b7958feab32e48c0fb8.gz
This commit is contained in:
parent
9a9d786257
commit
b80290c1c1
1 changed files with 15 additions and 6 deletions
|
@ -14,9 +14,15 @@ from socket import gethostname
|
||||||
date_format='%d/%m/%Y %H:%M'
|
date_format='%d/%m/%Y %H:%M'
|
||||||
hostname = gethostname().split(".")[0]
|
hostname = gethostname().split(".")[0]
|
||||||
if hostname == "zamok":
|
if hostname == "zamok":
|
||||||
|
anon_bind = 1 # Anonyme pour lecture seule
|
||||||
uri = 'ldapi://%2fvar%2frun%2fldapi/'
|
uri = 'ldapi://%2fvar%2frun%2fldapi/'
|
||||||
rw_uri = uri
|
rw_uri = uri
|
||||||
|
elif hostname == "sila" :
|
||||||
|
anon_bind = 1 # Anonyme pour lecture seule
|
||||||
|
uri = 'ldapi://%2fvar%2frun%2fldapi/'
|
||||||
|
rw_uri = 'ldaps://zamok.crans.org:636/'
|
||||||
else :
|
else :
|
||||||
|
anon_bind = 0 # Doit s'authentifier pour toute action
|
||||||
uri = 'ldaps://sila.crans.org:636/'
|
uri = 'ldaps://sila.crans.org:636/'
|
||||||
rw_uri = 'ldaps://zamok.crans.org:636/'
|
rw_uri = 'ldaps://zamok.crans.org:636/'
|
||||||
|
|
||||||
|
@ -33,7 +39,7 @@ from time import sleep,localtime
|
||||||
try :
|
try :
|
||||||
from secrets import ldap_password, ldap_auth_dn
|
from secrets import ldap_password, ldap_auth_dn
|
||||||
except :
|
except :
|
||||||
print coul('Warning : impossible de lire le fichier de secret !','jaune')
|
sys.stdout.write(coul('Warning : impossible de lire le fichier de secret !','jaune'))
|
||||||
sleep(2)
|
sleep(2)
|
||||||
ldap_password = ''
|
ldap_password = ''
|
||||||
ldap_auth_dn = ''
|
ldap_auth_dn = ''
|
||||||
|
@ -202,12 +208,15 @@ class crans_ldap :
|
||||||
def connect(self):
|
def connect(self):
|
||||||
""" Initialisation des connexion vers le serveur LDAP """
|
""" Initialisation des connexion vers le serveur LDAP """
|
||||||
|
|
||||||
def bind(conn) :
|
def bind(conn,anon_bind=0) :
|
||||||
""" Authentification auprès du serveur ldap """
|
""" Authentification auprès du serveur ldap """
|
||||||
nbessais = 0
|
nbessais = 0
|
||||||
ok = False
|
ok = False
|
||||||
while not ok:
|
while not ok:
|
||||||
try:
|
try:
|
||||||
|
if anon_bind :
|
||||||
|
conn.bind_s('','',ldap.AUTH_SIMPLE)
|
||||||
|
else :
|
||||||
conn.bind_s(ldap_auth_dn,ldap_password,ldap.AUTH_SIMPLE)
|
conn.bind_s(ldap_auth_dn,ldap_password,ldap.AUTH_SIMPLE)
|
||||||
ok = True
|
ok = True
|
||||||
|
|
||||||
|
@ -229,7 +238,7 @@ class crans_ldap :
|
||||||
def new_methode(*args) :
|
def new_methode(*args) :
|
||||||
try :
|
try :
|
||||||
if not self.__conn_binded :
|
if not self.__conn_binded :
|
||||||
bind(self.conn)
|
bind(self.conn,anon_bind)
|
||||||
self.__conn_binded = True
|
self.__conn_binded = True
|
||||||
return methode_base(*args)
|
return methode_base(*args)
|
||||||
except ldap.STRONG_AUTH_REQUIRED :
|
except ldap.STRONG_AUTH_REQUIRED :
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue