LDAPで全ユーザー情報を取得の方法

すべてのユーザー情報を取得するには、LDAP(Lightweight Directory Access Protocol)クエリを使用して、ディレクトリツリー全体を検索できます。以下は、すべてのユーザー情報を取得するためのLDAPクエリの例です。

(&(objectclass=user)(objectcategory=person))

このクエリはオブジェクトクラス属性オブジェクトクラスがユーザで、オブジェクトカテゴリ属性オブジェクトカテゴリが人であるという条件を満たすすべてのユーザオブジェクトを返します。

LDAP クライアントまたはプログラミング言語の LDAP ライブラリを使用してこのクエリを実行できます。Python LDAP ライブラリ(python-ldap)のコード例を以下に示します。

import ldap

# 连接LDAP服务器
ldap_server = 'ldap.example.com'
ldap_port = 389
ldap_conn = ldap.initialize(f'ldap://{ldap_server}:{ldap_port}')

# 绑定到LDAP服务器
ldap_username = 'cn=admin,dc=example,dc=com'
ldap_password = 'password'
ldap_conn.simple_bind_s(ldap_username, ldap_password)

# 执行查询
base_dn = 'dc=example,dc=com'
search_filter = '(&(objectclass=user)(objectcategory=person))'
search_attribute = ['cn', 'mail', 'telephoneNumber']
results = ldap_conn.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter, search_attribute)

# 处理查询结果
for dn, entry in results:
    print(f'DN: {dn}')
    for attr, values in entry.items():
        print(f'{attr}: {values}')

# 断开LDAP连接
ldap_conn.unbind_s()

この例では、ldap\_server、ldap\_username、ldap\_password、base\_dn、search\_attribute の値を実際の状況に合わせて置き換える必要があります。あなたの LDAP サーバーの設定によっては、さらに他の設定やコードの変更が必要になる場合があります。

LDAPクエリ実行の際、適切なセキュリティ対策を実施し、組織規定に従った権限認証およびアクセス制御を行うこと。

bannerAds