Possibilit de connexion en lecture seule via la socket.
darcs-hash:20051123220522-41617-09b8f9c2ff2f77eb570a3d57b0e2e373c819e355.gz
This commit is contained in:
parent
30e8237c9a
commit
394b4773b5
1 changed files with 17 additions and 4 deletions
|
@ -28,6 +28,8 @@ except:
|
|||
|
||||
date_format='%d/%m/%Y %H:%M'
|
||||
hostname = gethostname().split(".")[0]
|
||||
|
||||
# Uri pour lecture écriture
|
||||
if hostname == 'egon' and not '/usr/scripts/gestion/' in sys.argv[0]:
|
||||
# pour les tests, les séminaires... sur egon
|
||||
uri = 'ldapi://%2fvar%2frun%2fldapi/'
|
||||
|
@ -36,6 +38,12 @@ if hostname == 'egon' and not '/usr/scripts/gestion/' in sys.argv[0]:
|
|||
else:
|
||||
uri = 'ldap://ldap.adm.crans.org/'
|
||||
|
||||
# Uri pour les instances de crans_ldap faisant de la lecture seule
|
||||
if os.path.exists('/var/run/ldapi') :
|
||||
ro_uri = 'ldapi://%2fvar%2frun%2fldapi/'
|
||||
else :
|
||||
ro_uri = uri
|
||||
|
||||
smtpserv = "rouge.crans.org"
|
||||
|
||||
random.seed() # On initialise le générateur aléatoire
|
||||
|
@ -217,8 +225,8 @@ class crans_ldap:
|
|||
# Scope des différentes recherches
|
||||
scope = { 'adherent': 1 , 'machine': 2 , 'club': 1 }
|
||||
|
||||
def __init__(self):
|
||||
self.connect()
|
||||
def __init__(self,readonly=False):
|
||||
self.connect(readonly)
|
||||
|
||||
def __del__(self):
|
||||
# Destruction des locks résiduels
|
||||
|
@ -226,9 +234,14 @@ class crans_ldap:
|
|||
for lock in self._locks:
|
||||
self.remove_lock(lock)
|
||||
|
||||
def connect(self):
|
||||
def connect(self,readonly=False):
|
||||
""" Initialisation la connexion vers le serveur LDAP """
|
||||
if readonly :
|
||||
self.conn = ldap.initialize(ro_uri)
|
||||
return
|
||||
|
||||
self.conn = ldap.initialize(uri)
|
||||
|
||||
while True :
|
||||
try:
|
||||
self.conn.bind_s(ldap_auth_dn,ldap_password,ldap.AUTH_SIMPLE)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue