1
サーバーは、python-ldapおよびldap3ライブラリで同じ数の属性を返していません。ldap3(python3-ldap)内のすべての属性のリストを取得します。
欠落している属性は、いくつかの操作を実行する必要がある属性です。
これは私がLDAP3に使用した検索クエリのサンプルです:のpython-LDAPで使用
from ldap3 import Server,Connection,ALL_ATTRIBUTES, ALL_OPERATIONAL_ATTRIBUTES,ALL,SEARCH_SCOPE_WHOLE_SUBTREE,SUBTREE
host = something1
user = something2
password = something3
baseDn = something4
search_filter = "(uid=something5)"
server = Server(host, get_info=ALL)
conn = Connection(server,user, password,auto_bind=True,check_names=True)
conn.search(baseDn,search_filter, search_scope=SEARCH_SCOPE_WHOLE_SUBTREE, attributes=['*'])
entry = conn.entries
print(json.loads(entry[0].entry_to_json()))
検索クエリ:
searchScope = ldap.SCOPE_SUBTREE
## retrieve all attributes
retrieveAttributes = None
ldap_result_id = l.search(baseDn, searchScope, searchFilter, retrieveAttributes)
result_set = []
while 1:
result_type, result_data = l.result(ldap_result_id, 0)
if (result_data == []):
break
else:
## you could do whatever you want with the individual entry
## The appending to list is just for illustration.
if result_type == ldap.RES_SEARCH_ENTRY:
result_set.append(result_data)
print json.loads(result_set)
誰かが投稿することができた場合は、取得するためにどのような方法がありますldap3で指定されたクエリで使用可能なすべての属性。
これは、LDAPのサーバの実装に問題があることが、私にとっては、 '属性= [「*」]'働いていたかもしれませんldap3を使用してすべての属性を元に戻します。 これはActive Directoryで使用されます。 –