Ahoana ny fanontana ny DN an'ny mpampiasa amin'ny fampiasana python ldap3

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'
0
задан 9 August 2019 в 17:52
2 ответа

Результаты поиска 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']
1
ответ дан 4 December 2019 в 15:38

Вы можете получить DN из таких записей:

for entry in conn.entries:
    print(entry.entry_dn)
2
ответ дан 11 September 2020 в 12:03

Теги

Похожие вопросы