from gluon.tools import * import ldap import sys class LdapAuth(Auth): def __init__(self, environment, controller='default', server='ldap', port=None, base_dn='ou=users,dc=domain,dc=com', mode='uid', secure=False, bind_dn=None, bind_pw=None): Auth.__init__(self, environment, None, controller) self.connection = None self.server = server self.port = port self.base_dn = base_dn self.mode = mode self.secure = secure self.bind_dn = bind_dn self.bind_pw = bind_pw if self.secure: if not self.ldap_port: self.ldap_port = 636 self.connection = ldap.initialize( "ldaps://" + self.ldap_server + ":" + str(self.ldap_port)) else: if not self.ldap_port: self.ldap_port = 389 self.connection = ldap.initialize( "ldap://" + self.ldap_server + ":" + str(self.ldap_port))