2012-03-07 105 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