22 lines
513 B
Python
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)
|
|
|
|
|