Mampiasa ny modely ldap3 ambanin'ny python 2.7 aho ary manao fikarohana ao amin'ny lahatahiry. Azoko atao ny mamerina ny cn cn an'ny mpampiasa:
fa ahoana no fomba hitadiavako tsara ilay anarana mampiavaka (manokana DN:
etsy ambany)?
>>> conn.search (BASE_DN, '(&(uid=user456))', attributes=['*'])
True
>>> print conn.entries[0]
DN: uid=user456,ou=myou,dc=myorg
cn: user456
...
>>> print conn.entries[0]['cn']
user456
>>> print conn.entries[0]['DN']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/ldap3/abstract/entry.py", line 100, in __getitem__
return self.__getattr__(item)
File "/usr/lib/python2.7/dist-packages/ldap3/abstract/entry.py", line 88, in __getattr__
raise LDAPKeyError('key not found')
ldap3.core.exceptions.LDAPKeyError: 'key not found'
Результаты поиска python ldap3 - это не только атрибуты, но и кортежи вида (dn, attributess, raw_attributes)
, где:
dn
: строка, содержащая DN (отличительное имя) записи
атрибуты
: словарь возвращенных атрибутов и их значений. Значения указаны в списке. Значения представлены в формате UTF-8
raw_attributes
: такие же, как «атрибуты», но не закодированы (bytearray)
Сам DN не является атрибутом (DN) ...
Отображение DN и CN поэтому выглядит примерно так:
conn.search (BASE_DN, '(&(uid=user456))', attributes=['*'])
for dn,attrs,raw_attrs in conn.search.response:
print dn
print attrs['cn']
Вы можете получить DN из таких записей:
for entry in conn.entries:
print(entry.entry_dn)