
答え1
LDAP 検索ではこれを行うことはできません。そのため、追加の処理が必要になります。まず、検索によって返される属性と値の順序が保証されることはほとんどありません。
答え2
OpenLDAPなどの一部のLDAPサーバーは、値を返すフィルター制御(参照RFC 3876)。
このコントロールはOpenLDAPのldap検索CLI 引数 -E を使用します。
例:-E "mv=((memberOf=cn=test-users-2,cn=test,ou=ae-dir))"
。
このフィルタはいわゆるシンプルフィルタであることに注意してくださいそれなしオペランド。
私のオンラインデモの例Æ-DIR:
制御なしの場合:
$ ldapsearch -H "ldaps://demo.ae-dir.com" -b "ou=ae-dir" -s sub -x -D "uid=aead,cn=ae,ou=ae-dir" -w CorrectHorseBatteryStaple -LL "(memberOf=cn=test-users-2,cn=test,ou=ae-dir)" memberOf
version: 1
dn: uid=dsrg,cn=test,ou=ae-dir
memberOf: cn=test-users-2,cn=test,ou=ae-dir
memberOf: cn=test-users-3,cn=test,ou=ae-dir
dn: uid=rqei,cn=test,ou=ae-dir
memberOf: cn=test-users-1,cn=test,ou=ae-dir
memberOf: cn=test-users-2,cn=test,ou=ae-dir
一致した値のコントロールを使用する場合:
$ ldapsearch -H "ldaps://demo.ae-dir.com" -b "ou=ae-dir" -s sub -x -D "uid=aead,cn=ae,ou=ae-dir" -w CorrectHorseBatteryStaple -LL -E "mv=((memberOf=cn=test-users-2,cn=test,ou=ae-dir))" "(memberOf=cn=test-users-2,cn=test,ou=ae-dir)" memberOf
version: 1
dn: uid=dsrg,cn=test,ou=ae-dir
memberOf: cn=test-users-2,cn=test,ou=ae-dir
dn: uid=rqei,cn=test,ou=ae-dir
memberOf: cn=test-users-2,cn=test,ou=ae-dir