Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 汇流、ldap用户筛选器和memberOf_Regex_Ldap_Confluence - Fatal编程技术网

Regex 汇流、ldap用户筛选器和memberOf

Regex 汇流、ldap用户筛选器和memberOf,regex,ldap,confluence,Regex,Ldap,Confluence,早上好 我正在尝试创建一个用户过滤器,用于Atlassian的confluence,我有一个关于memberOf和regex的问题 (&(objectClass=Person)(memberOf=CN=Delivery Management Team,OU=EMEA,OU=Parks Lists,DC=emea,DC=company,DC=com)) 返回属于此组的某些用户。但是, (&(objectClass=Person)(memberOf=CN=Delivery Mana

早上好

我正在尝试创建一个用户过滤器,用于Atlassian的confluence,我有一个关于memberOf和regex的问题

(&(objectClass=Person)(memberOf=CN=Delivery Management Team,OU=EMEA,OU=Parks Lists,DC=emea,DC=company,DC=com))
返回属于此组的某些用户。但是,

(&(objectClass=Person)(memberOf=CN=Delivery Management*))
由于错误而失败。似乎regex不适用于memberOf,或者ldap中是否有一种语法方法可以实现这一目标,而不是使用星号“对不起”方尖碑


David

我假设您在本例中使用的是Active Directory,在这种情况下,问题只是AD不支持对带有通配符的DN值进行LDAP查询,但memberOf=*类型查询除外,在该查询中,您要查找具有该值集的任何内容

:

允许使用通配符*,除非是DN属性。DN属性的示例包括DifferentiedName、manager、directReports、member和memberOf。如果该属性为DN,则只允许使用相等运算符,并且必须为该值指定完整的可分辨名称,或为该属性具有任何值的所有对象指定*字符

我所采取的方法是为应用程序创建一个“所有用户”组——所有Confluence用户,然后访问级别组,如Confluence管理员、Confluence工程师、Confluence Service Delivery。当有人被添加到一个访问级别组时,将个人设置为组的过程会添加“所有用户”组,这是惰性编码的一部分;我不想检查他们是否已经是成员并且可以轻易忽略ldap错误20值已经存在;当从帐户中删除最后一个访问级别组时,将从“所有用户”组中删除帐户

从AllMembers组中添加和删除个人都可以成批完成——如果在我的环境中手动配置组,我可能会这样做。任何人匹配&!memberOf={all users组| memberOf={appgroup1}memberOf={appgroup2}…memberOf=appgroupN添加到我的all users组;&memberOf={all users组!| memberOf={appgroup1}memberOf={appgroup2}…memberOf=appgroupN从我的all users组中删除


我的用户筛选器是&memberOf={所有用户组}而实际上谁可以访问其他组成员控制的内容。

LDAP查询中哪里有正则表达式?我只看到了一个通配符*。也看到了我的道歉。我想我确实把它称为regex。我想我尝试的目的很清楚,尽管memberOf=CN=Delivery Management*。为了澄清,你写了:memberOf=*在你上面的评论中。你是说你可以检查用户是否是memberOf,而不是像mail=*一样为空,以确保用户有电子邮件吗?在我上面的例子中,memberOf=CN=,OU=EMEA,OU=Parks List,DC=EMEA,DC=company,DC=com,我无法编写memberOf=*Delivery management*例如,这引发了我最初的问题。正确-对于具有DN语法的属性,您可以使用通配符“*”来过滤空白/非空白,但不能以您显示的方式使用它。我已编辑了我的答案,以包括我如何绕过此广告限制。所有成员组的想法很好,如果我最初设置了服务器,我可以这样做。相反,我有一个用户群that告诉我他们希望确保哪些组从广告中被拉入合流,以便他们可以使用这些组设置权限。他们还希望这些组中的用户也被拉入。我不确定将他们的所有组添加到所有用户组中是否可行。我看到有一个选项允许组中的组。添加所有用户组的组应该可以工作-您需要在筛选器中使用LDAP_MATCHING_RULE_IN_CHAIN MATCHING RULE替换cn=AllConfluenceUsers,ou=groups,dc=domain,dc=gTLD,为您的“所有用户”组使用适当的完全限定DN,您的筛选器应该是:&objectClass=personmemberOf:1.2.840.113556.1.4.1941:=cn=AllConfluenceUsers,ou=groups,dc=域,dc=gTLD