2

C# を使用して LDAP でユーザーの役職を検索しようとしています。

私の現在の検索はこれで、ジョン・スミスという名前の管理人を検索しようとしています:

search.Filter = "(&(objectCategory=person)(objectClass=contact)(|(sn=Smith)(givenname=John)(title=Janitor)))";

しかし、それは機能していません。

誰かが私が間違っている場所を指摘できますか? snその部分が機能するので、私はgivenname正しい部分を持っていることを知っています.. . しかし、タイトル フィルターはそうではありません。

4

2 に答える 2

2

これはおそらく、そのTitle属性がpersonalTitleLDAP で実際に呼び出されるためです。

代わりに、次の検索フィルターを試してください。

search.Filter = "(&(objectCategory=person)(objectClass=contact)(|(sn=Smith)(givenname=John)(personalTitle=Janitor)))";

Active Directory MVP の Richard Mueller は、.NET から AD を使用する方法に関する非常に貴重な情報を提供する素晴らしいサイトを持っています。彼の参照ドキュメント (Excel シート) をここで見つけて、ダウンロードして使用してください。

于 2012-10-01T19:47:07.490 に答える
0

どの LDAP サーバーを使用していますか?

CentOs DS では、これが機能します。

search.Filter = "(&(objectClass=person)(sn=Smith)(givenname=John)(title=Janitor))";
于 2012-10-02T09:10:46.000 に答える