2017-07-21 1 views
0

申し訳ありません。LDAP/ADサービスを初めて利用しています。サーバーの簡単な3または4レベルのLDAPクエリを作成するには問題があります。このように:OUの3つのレベルで値を見つけるためにLDAPフィルタを作成する方法

DN my.com.app (dc=my,dc=com,dc=app) 
    |_OU maingroup 
     |_OU subgroup 
      |_OU grandsongroup 

私は私のフィルタ

filter = "(&(ou=grandsongroup,ou=subgroup,ou=maingroup)(sAMAccountName=worker"))"; 

ですが、それは何も返しません、どのようなことができるように、ここで、(ユーザ名はworkerであると仮定)ユーザーでgrandsongroupwith現在のログで定義されたすべての値を取得しよううまくいかない?

答えて

2
  1. フィルタ文字列は検索の深さを定義しません。これは別のパラメータを介して行われます。

    • 現在のレベルの電流レベルプラス1つのレベル
    • 全体のサブツリーのみ
    • :3つの可能性があります。
  2. 検索元のDNは、フィルタではなく別のパラメータで指定します。だから、フィルタ文字列は、単に

    (sAMAccountName=worker) 
    

    である必要があり、検索のベースDNは

    ou=grandsongroup,ou=subgroup,ou=maingroup,dc=my,dc=com,dc=app 
    
+0

する必要があります、ありがとうございました。もう一つの疑問があります。「グンソンググループ」の価値をどのように得るにはDN値以上で? 'someResultSearch.getAttributes()。get(" ou ")。get()'? – Dreamer

+0

'ou'があなたが望む属性の名前であれば、yesです。 – EJP

+0

ありがとうございました。例のように3つのレベルで3つの 'ou'が定義されていても、grandsongroupから値を取得する必要がある場合はどうなりますか? – Dreamer

関連する問題