regex - Confluence、ldap 用户过滤器和 memberOf
问题描述
早晨,
我正在尝试创建一个用户过滤器以在 Atlassian 的汇合中使用,并且我对 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*))
失败并出现错误。似乎正则表达式不适用于memberOf
,或者在 ldap 中是否有语法方法来实现这个目标,而不是使用星号(对不起方尖碑)?
大卫
解决方案
我假设您在这种情况下使用 Active Directory,在这种情况下,问题只是 AD 不支持使用通配符的 DN 值的 LDAP 查询(除了 memberOf=* 类型查询,您正在寻找具有该值的任何内容放)。
允许使用通配符“*”,除非是 DN 属性。DN 属性的示例有 distinctName、manager、directReports、member 和 memberOf。如果属性为 DN,则仅允许使用相等运算符,并且您必须为该值指定完整的可分辨名称(或为具有该属性的任何值的所有对象指定“*”字符)
我为完成您想要做的事情而采取的方法是为应用程序创建一个“所有用户”组 - 所以“所有 Confluence 用户”,然后是“Confluence Admins”、“Confluence Engineers”等访问级别的组,“汇合服务交付”。每当有人被添加到访问级别组之一时,将个人配置到组中的过程都会添加所有用户组(有点懒惰的编码,那;我不想检查他们是否已经是成员并且可以轻松忽略ldap 错误 20 值已存在);当最后一个访问级别组已从其帐户中删除时,帐户将从所有用户组中删除。
从所有成员组中添加和删除个人都可以批量完成——如果在我的环境中手动配置组,我可能会这样做。任何匹配 "(&(!(memberOf={the all users group))(|(memberOf={appgroup1})(memberOf={appgroup2})...(memberOf=appgroupN)))" 的人都会被添加到我的所有用户中团体; (&((memberOf={所有用户组))(!(|(memberOf={appgroup1})(memberOf={appgroup2})...(memberOf=appgroupN)))) 从我的所有用户组中删除。
我的用户过滤器是“(&(memberOf={所有用户组}))”,而谁可以实际访问由其他组成员控制的内容。
推荐阅读
- sql - 如何根据另一个表中的索引序列对列中的名称进行排序?
- python - Python 正则表达式匹配数字但忽略其中包含数字的单词(即 N95 和 3D)
- database - 访问指定数据以显示在网页上
- php - 来自表单未定义数组错误的 PHP $_GET
- sql - Bigquery SQL 提取字符串左侧的文本
- ios - 如何将字体添加到 iOS 应用程序,以便在设备上全局安装?
- vb.net - 从 Visual Studio 项目之间复制数据源
- python - Python fcntl 结构内容
- python-3.x - Keras渐变wrt别的东西
- javascript - 嗨,我正在尝试使用 JQuery.ajax 从锚标记中抓取 href