本文整理汇总了Python中ldap3.SUBTREE属性的典型用法代码示例。如果您正苦于以下问题:Python ldap3.SUBTREE属性的具体用法?Python ldap3.SUBTREE怎么用?Python ldap3.SUBTREE使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类ldap3
的用法示例。
在下文中一共展示了ldap3.SUBTREE属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_00_wrong_basedn
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_00_wrong_basedn(self):
s = "(&(cn=*))"
base = "o=invalid"
self.c.search(search_base=base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 0)
s = "(!(cn=*))"
base = "o=invalid"
self.c.search(search_base=base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 0)
s = "(|(cn=*)(sn=*))"
base = "o=invalid"
self.c.search(search_base=base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 0)
示例2: test_06_simple_and_simple_less_condition
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_06_simple_and_simple_less_condition(self):
dn = "cn=manager,ou=example,o=test"
s = "(&(oid<=1))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
dn = "cn=alice,ou=example,o=test"
dn1 = "cn=mini,ou=example,o=test"
s = "(&(accountExpires<=9223372036854775805))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 2)
self.assertTrue(self.c.response[0].get("dn") == dn)
self.assertTrue(self.c.response[1].get("dn") == dn1)
示例3: test_07_multi_and
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_07_multi_and(self):
dn = "cn=bob,ou=example,o=test"
s = "(&(oid>=2)(sn=Marley))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
dn = "cn=bob,ou=example,o=test"
s = "(&(cn~=bob)(sn=*e*)(accountExpires>=100))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
示例4: test_10_simple_not_simple_greater_condition
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_10_simple_not_simple_greater_condition(self):
dn = "cn=manager,ou=example,o=test"
s = "(!(oid>=2))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
dn = "cn=mini,ou=example,o=test"
s = "(!(accountExpires>=1))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
示例5: test_11_simple_not_simple_less_condition
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_11_simple_not_simple_less_condition(self):
dn = "cn=bob,ou=example,o=test"
s = "(!(oid<=2))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
dn = "cn=manager,ou=example,o=test"
s = "(!(accountExpires<=9223372036854775807))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
示例6: test_12_multi_not
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_12_multi_not(self):
dn = "cn=alice,ou=example,o=test"
dn1 = "cn=bob,ou=example,o=test"
dn2 = "cn=manager,ou=example,o=test"
s = "(!(&(sn~=Cooper)(cn=mini)))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 3)
self.assertTrue(self.c.response[0].get("dn") == dn)
self.assertTrue(self.c.response[1].get("dn") == dn1)
self.assertTrue(self.c.response[2].get("dn") == dn2)
dn = "cn=mini,ou=example,o=test"
s = "(!(|(cn~=bob)(sn=*le*)(accountExpires>=100)))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
示例7: test_16_simple_or_simple_less_condition
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_16_simple_or_simple_less_condition(self):
dn = "cn=manager,ou=example,o=test"
s = "(|(oid<=1))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
dn = "cn=mini,ou=example,o=test"
s = "(|(accountExpires<=100))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
示例8: test_17_multi_or
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_17_multi_or(self):
dn = "cn=bob,ou=example,o=test"
dn1 = "cn=mini,ou=example,o=test"
s = "(|(oid>=3)(accountExpires=0))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 2)
self.assertTrue(self.c.response[0].get("dn") == dn)
self.assertTrue(self.c.response[1].get("dn") == dn1)
dn = "cn=bob,ou=example,o=test"
dn1 = "cn=manager,ou=example,o=test"
dn2 = "cn=mini,ou=example,o=test"
s = "(|(cn~=bob)(sn=ke*le)(accountExpires<=0))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 3)
self.assertTrue(self.c.response[0].get("dn") == dn)
self.assertTrue(self.c.response[1].get("dn") == dn1)
self.assertTrue(self.c.response[2].get("dn") == dn2)
示例9: test_25_add_user
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_25_add_user(self):
dn = "cn=John Smith,ou=example,o=test"
data = { "sn" : "Smith",
"cn" : "John Smith",
"userPassword": "S3cr3t",
}
classes = ["top", "inetOrgPerson"]
s = "(&(cn=John Smith)(objectClass=top))"
r = self.c.add(dn, classes, data)
self.assertTrue(r)
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 1)
self.assertTrue(self.c.response[0].get("dn") == dn)
示例10: search
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
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
示例11: ldap_query
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def ldap_query(self, query):
if not self.ldap_enabled:
return None
from ldap3 import Server, Connection, SIMPLE, SYNC, ASYNC, SUBTREE, ALL, ALL_ATTRIBUTES
import json
try:
logging.debug("connecting to ldap server {} on port {}".format(self.ldap_server, self.ldap_port))
with Connection(
Server(self.ldap_server, port = self.ldap_port, get_info = ALL),
auto_bind = True,
client_strategy = SYNC,
user=self.ldap_bind_user,
password=self.ldap_bind_password,
authentication=SIMPLE,
check_names=True) as c:
logging.debug("running ldap query for ({})".format(query))
c.search(self.ldap_base_dn, '({})'.format(query), SUBTREE, attributes = ALL_ATTRIBUTES)
# a little hack to move the result into json
response = json.loads(c.response_to_json())
result = c.result
if len(response['entries']) < 1:
return None
# XXX not sure about the 0 here, I guess only if we only looking for one thing at a time
return response['entries'][0]['attributes']
except Exception as e:
logging.warning("failed ldap query {}: {}".format(query, e))
return None
示例12: tivoli_ldap_query
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def tivoli_ldap_query(self, query):
if not self.tivoli_ldap_enabled:
return None
from ldap3 import Server, Connection, SIMPLE, SYNC, ASYNC, SUBTREE, ALL, ALL_ATTRIBUTES
import json
try:
logging.debug("connecting to tivoli ldap server {} on port {}".format(self.tivoli_server, self.tivoli_ldap_port))
with Connection(
Server(self.tivoli_server, port = self.tivoli_ldap_port , get_info = ALL),
auto_bind = False,
client_strategy = SYNC,
user=self.tivoli_bind_user,
password=self.tivoli_bind_password,
authentication=SIMPLE,
check_names=True) as c:
logging.debug("running tivoli ldap query for ({})".format(query))
c.search(self.tivoli_base_dn, '({})'.format(query), SUBTREE, attributes = ALL_ATTRIBUTES)
# a little hack to move the result into json
response = json.loads(c.response_to_json())
result = c.result
if len(response['entries']) < 1:
return None
# XXX not sure about the 0 here, I guess only if we only looking for one thing at a time
return response['entries'][0]['attributes']
except Exception as e:
logging.warning("failed tivoli ldap query {}: {}".format(query, e))
return None
示例13: __init__
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def __init__(self):
self.i_am_bound = False
self.uri = ""
self.basedn = ""
self.binddn = ""
self.bindpw = ""
self.object_classes = []
self.dn_template = ""
self.timeout = 5.0 # seconds!
self.sizelimit = 500
self.loginname_attribute = [""]
self.searchfilter = u""
self.userinfo = {}
self.multivalueattributes = []
self.uidtype = ""
self.noreferrals = False
self._editable = False
self.resolverId = self.uri
self.scope = ldap3.SUBTREE
self.cache_timeout = 120
self.tls_context = None
self.start_tls = False
self.serverpool_persistent = False
self.serverpool_rounds = SERVERPOOL_ROUNDS
self.serverpool_skip = SERVERPOOL_SKIP
self.serverpool = None
示例14: test_01_invalid_attribute
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_01_invalid_attribute(self):
s = "(&(invalid=*))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 0)
示例15: test_02_invalid_search_string
# 需要导入模块: import ldap3 [as 别名]
# 或者: from ldap3 import SUBTREE [as 别名]
def test_02_invalid_search_string(self):
s = "(&cn=*))"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 0)
s = "(&(cn=*)sn=*)"
self.c.search(search_base=self.base, search_filter=s, search_scope=ldap3.SUBTREE,
attributes = ldap3.ALL_ATTRIBUTES, paged_size = 5)
self.assertTrue(len(self.c.response) == 0)