2012-03-07 58 views
1

我正在嘗試創建一個(單個)LDAP過濾器,該過濾器將查找具有屬於特定組成員的各種屬性(狀態,創建日期等)的用戶。通常情況下,答案是過濾「memberOf」屬性 - 但不幸的是,我們目錄中的用戶沒有此屬性 - 而不是成員引用他們的組,只有組引用其成員(使用uniqueMember)。LDAP「關係」組成員過濾器

我在Tendys先生的評論another question中讀到,在這種情況下,有一個疊加層將會將memberOf添加到用戶。無論出於何種原因,我們並沒有這樣做,並且重新創建目錄,就像Tendys先生所說的爲創建現有用戶的屬性所必需的那樣,該目錄不是首發。

組:

BaseDN: ou=groups,dc=mycompany,dc=com 
Query: (&(objectClass=groupofuniquenames)(description=My Funky Group)) 
(And then pull the uniqueMember attributes) 

其他屬性:

BaseDN: dc=mycompany,dc=com 
Query: (&(objectClass=person)(myCreateDate>=2010-10-27T10:49:42-04:00)(myUserType=E)) 

相關法,我的直覺

目前我們可以從這樣的其他屬性分別搜索組是將組的uniqueMember屬性加入到我們從中得到的DN其他屬性過濾器,但我的調查沒有顯示這在LDAP中是可能的。

無可否認,我不是LDAP專家。我在關係數據庫方面有更多的經驗,但是我現在一直在討論LDAP的邊緣。所有這些都是說我知道一些事情,但可能有一些我缺少的基礎知識。

如何「加入」這兩個過濾器,所以我不必在我的目錄之外(Java Web服務,它的價值)對響應進行coalate。

回答

3

在LDAP中沒有連接(除非我還沒有發現任何東西!)您必須單獨搜索組成員並檢查其屬性,或枚舉具有匹配屬性的用戶並檢查其組成員身份,更有意義的性能。

+0

感謝您的回答!要小心一下,是否有什麼事情是你還沒有發現的?我知道它有很長的一段時間,但它似乎在功能上有如此明顯的差距(或者說我在說話中的RDBMS)! – vacao 2012-03-08 17:41:21

+0

@vacao如果存在,(a)它不在我見過的任何LDAP RFC或API中,並且(b)Terry Gardner將在此處發佈它:-) – EJP 2012-03-08 22:44:04