2014-02-11 43 views
0

我開發了一個小型應用程序,它從活動目錄中讀取用戶信息。 在應用程序的開始,我用下面的過濾器LDAP OR條件 - 無效過濾器

search.Filter = "(&((&(objectCategory=Person)(objectClass=User)))(displayName=*" + username + "*))";

這工作得很好。

現在,我正在給用戶一個選項來檢索基於用戶名或辦公室或標題字段的員工詳細信息。

我用來獲取詳細信息的查詢如下,但不起作用。它拋出和異常

「搜索過濾器無效」。

(&((&(objectCategory=Person)(objectClass=User)))(|((displayName=*" + username + "*)(l = *" + location + "*)(title=*" + title + "*))))"; 

舉例:retieve員工的詳細信息基於位置:海得拉巴 運行時查詢看起來像這樣

(&((&(objectCategory=Person)(objectClass=User)))(|((displayName=**)(l = *hyder*)(title=**)))

搜索過濾器無效。

+0

保留C#語言標記,不要放在標題中! – Filburt

回答

0

我想,你的意圖是不明確的,你正在尋找的是更多的東西一樣:

(&(objectCategory =人)(objectClass的=用戶)(|(顯示名= SAM) (L = 位置)(標題= 標題)))

Which could be visualized as: 
(& 
    (objectCategory=Person) 
    (objectClass=User) 
    (| 
     (displayName=*sam*) 
     (l=*location*) 
     (title=*title*) 
    ) 
) 

當然,你需要把你的代碼的參數,而不是顯示的值。