
答案1
您無法在 LDAP 搜尋中執行此操作,您將需要對其進行一些額外的處理。一方面,幾乎可以肯定無法保證搜尋傳回的屬性和值的順序。
答案2
一些 LDAP 伺服器,例如 OpenLDAP,支持值返回過濾器控制(見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