LDAP Authentifizierung mit WSGI/Barrel
Verfasst: Donnerstag 5. Juni 2008, 10:44
Code: Alles auswählen
import ldap
import barrel.basic
class LDAPAuth(barrel.basic.BasicAuth):
realm = config.AUTH_REALM
def __init__(self, url, domain, app):
self.url = url
self.domain = domain
self.password_cache = {}
barrel.basic.BasicAuth.__init__(self, app)
def valid_user(self, username, password):
if self.password_cache.get(username) == password:
return True
connection = ldap.initialize(self.url)
try:
connection.simple_bind_s(self.domain + username, password)
except ldap.INVALID_CREDENTIALS:
return False
self.password_cache[username] = password
return True
Beispiele für die Parameter:
url: ldap://example.com:389/
domain: company\
Probleme: Der Cache hat keinen Timeout, sollte mit einem schönen Decorator ersetzt werden.
Vielleicht hilft es ja dem einen oder anderen.