1

LDAP のフィルタに問題があります。指定した LDAP グループ内のすべてのユーザーを取得したいと考えています。LDIF は次のようなものです。

dn: cn=engineering,ou=Groups,dc=domain,dc=com
objectClass: groupOfNames
cn: engineering
member: uid=alex,ou=Users,dc=domain,dc=com
member: uid=amy,ou=Users,dc=domain,dc=com
...

dn: uid=alex,ou=Users,dc=domain,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
cn: Alex Ander
gidNumber: 5000
homeDirectory: /home/alex
...

私はもう試した

(&(objectClass=user)
  (memberof=cn=engineering,OU=Users,DC=domain,DC=com))

しかし、うまくいきません。

4

1 に答える 1

3

グループのすべてのメンバーを取得するには、検索リクエストで次のパラメーターを使用します。

  • ベース オブジェクト:cn=engineering,ou=Groups,dc=domain,dc=com
  • スコープ: ベース
  • フィルター:(&)
  • 要求された属性:member

サーバーからの応答 (検索要求が処理される接続の許可状態が許可されていると仮定) はmember、そのグループ内のすべての属性値のリストになります。

LDAP クライアントが各メンバーの完全なエントリを必要とする場合は、メンバーごとに検索 search 要求を送信します。クライアントには DN があるため、ベース レベルのスコープのみが必要であり、取得する各属性をリストします。

または:

  • ベース オブジェクト:ou=users,dc=domain,dc=com
  • scope: one (すべてのオブジェクトが 1 レベル下の場合ou=users)
  • フィルター:(&(objectClass=inetorgPerson)(memberOf=cn=engineering,ou=Groups,dc=domain,dc=com))
  • 要求された属性、たとえばcn, homeDirectory

からの応答 (検索要求が処理される接続の許可状態が許可されていると仮定) はinetOrgPerson、そのグループのメンバーなど、検索パラメーターに一致するメンバーのリストになります。

こちらもご覧ください

于 2013-11-06T17:39:29.687 に答える