ldapweb/webapp/pools.py

22 lines
513 B
Python

import ldap
from webapp import lru, config
class LDAPConnectionPool(lru.LRUPool):
def __init__(self, url, use_tls=True, **kw):
lru.LRUPool.__init__(self, **kw)
self.use_tls = use_tls
self.url = url
@lru.locked
def bind(self, dn, password):
conn = ldap.initialize(self.url)
if(self.use_tls):
conn.start_tls_s()
conn.simple_bind_s(dn, password)
return self._insert(dn, conn)
def unbind(self, dn):
return self.drop(dn)