如何将用户从;“人民”;Sun Java System Messaging Server 6.3中的组?

如何将用户从;“人民”;Sun Java System Messaging Server 6.3中的组?,java,email,openldap,Java,Email,Openldap,我是Sun Java System Messaging Server 6.3的新手。我正在通过ldapbrowser 2.8.2版管理我的电子邮件用户和组 我想从人员组中排除特定用户 我在人员组的配置中找到以下字符串: memberURL: ldap:///o=domain.com,dc=domain,dc=com??sub?(&(Employeenumber=*)(InetUserStatus=active)) “人民”群体的定义是: 在ldap:///o=domain.com,dc

我是Sun Java System Messaging Server 6.3的新手。我正在通过ldapbrowser 2.8.2版管理我的电子邮件用户和组

我想从人员组中排除特定用户

我在人员组的配置中找到以下字符串:

memberURL: ldap:///o=domain.com,dc=domain,dc=com??sub?(&(Employeenumber=*)(InetUserStatus=active))

“人民”群体的定义是:

ldap:///o=domain.com,dc=domain,dc=com
,其中存在属性
Employeenumber
Employeenumber=*
),并且属性
InetUserStatus
具有值
active
InetUserStatus=active

因此,如果要排除某人,则需要与属性匹配,以及要排除并构造与此匹配的LDAP搜索筛选器的值,并更新筛选器
(&(Employeenumber=*)(InetUserStatus=active))
,以与此对应

因此,如果它们是
Employeenumber
55
,则您不希望它们出现在列表中,因此此条件为
!(Employeenumber=55)
,因此需要将其插入选择条件,如下所示:

(&(&(Employeenumber=*)(InetUserStatus=active))(!(Employeenumber=55)))
如果您还想筛选第二个用户(例如
Employeenumber
99
),则它将变为:

(&(&(&(Employeenumber=*)(InetUserStatus=active))(!(Employeenumber=55)))(!(Employeenumber=99)))

您可以看到这将很快变得非常复杂。

我注意到多个员工有相同的employeeNumber,即329。我可以使用任何其他属性,例如uidNumber(由用户名组成)?是的,我使用了
employeeNumber
作为示例-您需要决定要使用的筛选器属性以及要使用的值。当我添加此属性时,电子邮件不会在人员组中收到。您是否验证了您的筛选器?如果出现错误,则列表中不会出现任何人-通过ldap浏览器的
搜索
选项。手工编写过滤器时很容易出错(我在输入时键入了第二个过滤器)。我通过更改特定用户的员工编号来完成此操作,然后按照您的说明操作。非常感谢!