如何在 python-ldap 中获取 child_object
How to get child_object in python-ldap
我完全不熟悉将 LDAP 与 python 一起使用,我正在尝试对图像中显示的 LDAP 树执行查询。
使用包 python-ldap
。如您所见,树是这样的:
ou=组织 >> ou=公司 >> ou=巴西 >>
然后在这个国家之后,有很多城市,我设法到达了这个城市..但是还有一些其他城市在它下面有某种(子城市),正如你在 ou=Sao Paulo 中看到的,它有 3 个子-它之后的城市。
我需要做的是:
1- 在主要城市之后到达子城市。
2- 能够遍历每个城市内的每个 CN=Gateway-****。
3- 最后需要访问每个 CN 的内部属性并获取它的值。
我在views.py中使用的代码是:
def index(request):
cities_list = []
gateways_list = []
con = ldap.initialize('ldap://The_URI_For_IDAP/(|(OU=Brasil)(OU=Company)(OU=Organization))')
some_dn = 'dc=*****,dc=com'
query = "ou=*"
result = con.search_s(some_dn, ldap.SCOPE_SUBTREE, query)
for item in result:
cities_list.append(city_name)
print(item)
context = {
'cities_list': cities_list,
}
return render(request, 'index.html', context)
在 cities_list
中,我得到了 ou=Brasil
之后每个父城市的列表,但我无法到达内部 Ou
,也无法到达 CN
部分。
如果您想抓取 ou=Organization >> ou=Company >> ou=Brasil
下的每个条目,您需要相应地设置基本 dn 并使用 objectclass=*
作为过滤器:
con = ldap.initialize('ldap://domain.com')
base_dn = 'ou=Brasil,ou=Company,ou=Organization,dc=domain,dc=com'
filter = "(objectClass=*)"
result = con.search_s(base_dn, ldap.SCOPE_SUBTREE, filter)
我完全不熟悉将 LDAP 与 python 一起使用,我正在尝试对图像中显示的 LDAP 树执行查询。
使用包 python-ldap
。如您所见,树是这样的:
ou=组织 >> ou=公司 >> ou=巴西 >> 然后在这个国家之后,有很多城市,我设法到达了这个城市..但是还有一些其他城市在它下面有某种(子城市),正如你在 ou=Sao Paulo 中看到的,它有 3 个子-它之后的城市。
我需要做的是:
1- 在主要城市之后到达子城市。 2- 能够遍历每个城市内的每个 CN=Gateway-****。 3- 最后需要访问每个 CN 的内部属性并获取它的值。
我在views.py中使用的代码是:
def index(request):
cities_list = []
gateways_list = []
con = ldap.initialize('ldap://The_URI_For_IDAP/(|(OU=Brasil)(OU=Company)(OU=Organization))')
some_dn = 'dc=*****,dc=com'
query = "ou=*"
result = con.search_s(some_dn, ldap.SCOPE_SUBTREE, query)
for item in result:
cities_list.append(city_name)
print(item)
context = {
'cities_list': cities_list,
}
return render(request, 'index.html', context)
在 cities_list
中,我得到了 ou=Brasil
之后每个父城市的列表,但我无法到达内部 Ou
,也无法到达 CN
部分。
如果您想抓取 ou=Organization >> ou=Company >> ou=Brasil
下的每个条目,您需要相应地设置基本 dn 并使用 objectclass=*
作为过滤器:
con = ldap.initialize('ldap://domain.com')
base_dn = 'ou=Brasil,ou=Company,ou=Organization,dc=domain,dc=com'
filter = "(objectClass=*)"
result = con.search_s(base_dn, ldap.SCOPE_SUBTREE, filter)