Python ldap3.LEVEL Examples
The following are 4
code examples of ldap3.LEVEL().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
ldap3
, or try the search function
.
Example #1
Source File: client_ldap3.py From code with MIT License | 6 votes |
def search(self, base, filter=None, scope=None, attrs=None): filter = filter or "(objectClass=*)" scope = { "base": ldap3.BASE, "subtree": ldap3.SUBTREE, "sub": ldap3.SUBTREE, "onelevel": ldap3.LEVEL, "one": ldap3.LEVEL, # not natively supported by ldap3 #"subordinate": ldap3.SUBORDINATE, #"child": ldap3.SUBORDINATE, }[scope or "subtree"] attrs = [*attrs] if attrs else ["*"] ok = self.conn.search(base, filter, search_scope=scope, attributes=attrs) entries = self.conn.entries entries = [(entry.entry_dn, entry.entry_raw_attributes) for entry in entries] return entries
Example #2
Source File: models.py From realms-wiki with GNU General Public License v2.0 | 5 votes |
def bind_search(self): logger = logging.getLogger("realms.auth.ldap") bind_dn = self.config.get('BIND_DN') or None base_dn = self.config['USER_SEARCH']['base'] filtr = self.config['USER_SEARCH']['filter'] % {'username': self.userid} scope = self.config['USER_SEARCH'].get('scope', 'subtree').lower().strip() if scope == "level": scope = ldap3.LEVEL elif scope == "base": scope = ldap3.BASE else: scope = ldap3.SUBTREE self.conn = ldap3.Connection( self.server, user=bind_dn, password=self.config.get('BIND_AUTH') or None, version=self.version ) if not self.start_tls(): return None if not self.conn.bind(): logger.error("Can't bind to the LDAP server with provided credentials ({})'".format(bind_dn)) return None logger.debug("Successfull BIND for '{}'".format(bind_dn)) try: if not self.conn.search(base_dn, filtr, attributes=ldap3.ALL_ATTRIBUTES, search_scope=scope): logger.info("User was not found in LDAP: '{}'".format(self.userid)) return None user_dn = self.conn.response[0]['dn'] attrs = self._get_attributes(self.conn.response) # the user was found in LDAP, now let's try a BIND to check the password return attrs if self.conn.rebind(user=user_dn, password=self.password) else None finally: self.close()
Example #3
Source File: dnstool.py From krbrelayx with MIT License | 5 votes |
def get_dns_zones(connection, root): connection.search(root, '(objectClass=dnsZone)', search_scope=LEVEL, attributes=['dc']) zones = [] for entry in connection.response: if entry['type'] != 'searchResEntry': continue zones.append(entry['attributes']['dc']) return zones
Example #4
Source File: dnsdump.py From adidnsdump with MIT License | 5 votes |
def get_dns_zones(connection, root, debug=False): connection.search(root, '(objectClass=dnsZone)', search_scope=LEVEL, attributes=['dc']) zones = [] for entry in connection.response: if entry['type'] != 'searchResEntry': continue if debug: print(entry['dn']) zones.append(entry['attributes']['dc']) return zones