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'
|
date_format='%d/%m/%Y %H:%M'
|
||||||
hostname = gethostname().split(".")[0]
|
hostname = gethostname().split(".")[0]
|
||||||
|
|
||||||
|
# Uri pour lecture écriture
|
||||||
if hostname == 'egon' and not '/usr/scripts/gestion/' in sys.argv[0]:
|
if hostname == 'egon' and not '/usr/scripts/gestion/' in sys.argv[0]:
|
||||||
# pour les tests, les séminaires... sur egon
|
# pour les tests, les séminaires... sur egon
|
||||||
uri = 'ldapi://%2fvar%2frun%2fldapi/'
|
uri = 'ldapi://%2fvar%2frun%2fldapi/'
|
||||||
|
@ -36,6 +38,12 @@ if hostname == 'egon' and not '/usr/scripts/gestion/' in sys.argv[0]:
|
||||||
else:
|
else:
|
||||||
uri = 'ldap://ldap.adm.crans.org/'
|
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"
|
smtpserv = "rouge.crans.org"
|
||||||
|
|
||||||
random.seed() # On initialise le générateur aléatoire
|
random.seed() # On initialise le générateur aléatoire
|
||||||
|
@ -217,8 +225,8 @@ class crans_ldap:
|
||||||
# Scope des différentes recherches
|
# Scope des différentes recherches
|
||||||
scope = { 'adherent': 1 , 'machine': 2 , 'club': 1 }
|
scope = { 'adherent': 1 , 'machine': 2 , 'club': 1 }
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self,readonly=False):
|
||||||
self.connect()
|
self.connect(readonly)
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
# Destruction des locks résiduels
|
# Destruction des locks résiduels
|
||||||
|
@ -226,9 +234,14 @@ class crans_ldap:
|
||||||
for lock in self._locks:
|
for lock in self._locks:
|
||||||
self.remove_lock(lock)
|
self.remove_lock(lock)
|
||||||
|
|
||||||
def connect(self):
|
def connect(self,readonly=False):
|
||||||
""" Initialisation la connexion vers le serveur LDAP """
|
""" Initialisation la connexion vers le serveur LDAP """
|
||||||
|
if readonly :
|
||||||
|
self.conn = ldap.initialize(ro_uri)
|
||||||
|
return
|
||||||
|
|
||||||
self.conn = ldap.initialize(uri)
|
self.conn = ldap.initialize(uri)
|
||||||
|
|
||||||
while True :
|
while True :
|
||||||
try:
|
try:
|
||||||
self.conn.bind_s(ldap_auth_dn,ldap_password,ldap.AUTH_SIMPLE)
|
self.conn.bind_s(ldap_auth_dn,ldap_password,ldap.AUTH_SIMPLE)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue