2013-07-11 9 views
3

我是法國人,所以請寬容我的英語不好:P郵件的DirectorySearcher的作品,而不是CN C#

我有一個問題,當我想找回被CN用戶對LDAPS。

此代碼工作正常,當我想通過郵件檢索用戶,但不是由cn ...不明白爲什麼。 當我用ldp.exe運行我的研究時,兩者都很好,使用相同的搜索字符串!它只是在C#中,它不會工作,只是與CN一起工作。

String strFilter = "(&(objectClass=person)(cn=user1))"; 
//String strFilter = "(&(objectClass=person)([email protected]))"; 
objSearchADLDS = new DirectorySearcher(objADLDS); 
objSearchADLDS.Filter = strFilter; 
objSearchADLDS.SearchScope = SearchScope.Subtree; 
SearchResult result = objSearchADLDS.FindOne(); 

我真的不明白......結果爲空時,我通過CN搜索,並處於正常狀態時,我通過郵件搜索...> <

如果有人能與此錯誤的幫助,這將是偉大的^^

+0

cn是用戶名,而不是短名稱(即Mike Figgis,而不是mfiggis)。我會推薦使用objectCategory而不是objectClass來簡單地搜索速度(objectCategory被索引) – Petesh

+0

Yey,我知道CN。但CN是對的。在ADLDS中,CN是'user1'。感謝與ObjectCategory提示;)我不知道。 – gjdass

+0

您是否嘗試過使用通配符並查看它是否返回任何結果? – Geod24

回答

0

好吧,我只是找到了昨天晚上這個問題的答案。

問題在於對DirectoryEntry的身份驗證錯誤...因此,DirectorySearcher以錯誤的方式進行搜索。

簡單的解決方案,我的錯。整整一天找到一條線。

謝謝大家!

相關問題