私は現在、DNベースの検索の問題に直面しています。部分的な、繰り返し可能なdn属性の検索
私はクライアントLDAP上で作業するので、構造を変更することはできません。私はreadOnlyフルアクセス権を持っています。
このLDAPでは、ユーザーは許可を得てグループ化されています。
のは、次のUIDを持つ4つの権限想像してみましょう:
まず
uid=jdoe,ou=user,ou=client,ou=fr
dnPermission=uid=APP2#Admin,ou=permission,ou=client,ou=fr
dnPermission=uid=APP1#User#other feature,ou=permission,ou=client,ou=fr
dnPermission=uid=APP3#Admin,ou=permission,ou=client,ou=fr
第二:、APP2及びAPP3は3つのdiferentsアプリケーション
ある今3ユーザーを想像
uid=APP1#Admin#feature,ou=permission,ou=client,ou=fr
uid=APP1#User#other feature,ou=permission,ou=client,ou=fr
uid=APP2#Admin,ou=permission,ou=client,ou=fr
uid=APP3#Admin,ou=permission,ou=client,ou=fr
APP1を
uid=jdupont,ou=user,ou=client,ou=fr
dnPermission=uid=APP1#Admin#feature,ou=permission,ou=client,ou=fr
dnPermission=uid=APP2#Admin,ou=permission,ou=client,ou=fr
サード
uid=mhari,ou=user,ou=client,ou=fr
dnPermission=uid=APP2#Admin#feature,ou=permission,ou=client,ou=fr
dnPermission=uid=APP3#Admin,ou=permission,ou=client,ou=fr
各アプリケーションには、多くの権限を持つことができ、許可のリストは、時間内に安定していません。
私の目的は、単一のクエリでAPP1の権限を持つすべてのユーザーを取得することです。
LDAPには24K +ユーザーがあり、アプリケーションには75ユーザーしか関係しないため、すべてのユーザーを取得してフィルタリングできません。
(&(objectclass=people)(dnPermission=uid=APP1*))
または
(&(objectclass=people)(dnPermission=APP1*))
が、両方は私に0の結果を返します。
私の最初のアイデアは、DNのような文字列とユーザーのフォローのクエリを処理することでした。
が可能ですか? どのようにですか?
NB1:人はいないのテクニカルアカウント
NB2と標準Personクラスのサブクラスである:dnPermissionはDNリンクではなく、フルテキスト属性です。
バックスラッシュは正しくありません。それを除く。 – EJP
これは修正されました。コピー/ペーストの間違いでした。 –
検索文字列内の 'attr'の実際の値は何ですか?サンプル値は何ですか?通常、グループ名はDN値です。 – EJP