列表中的 OpenLDAP 字段值

列表中的 OpenLDAP 字段值

我已经设置了 openLDAP 服务器,并创建了包含各种字段的自定义架构,它运行良好。但是,我有一些字段只希望包含部分值。例如,我有一个名为 的字段,我只希望包含、或deviceLocation的值。我该怎么做?EASTWESTCENTER

答案1

您需要将constraints覆盖添加到您的配置中。它允许您添加正则表达式,值必须匹配该正则表达式才能被添加或更改操作接受。或者,它允许您创建一个包含所有允许位置的子树,然后检查您尝试添加的值是否列在该子树中。

http://www.openldap.org/doc/admin24/overlays.html#Constraints

答案2

供将来参考:正如@Sven 指出的那样,我使用约束来解决问题。就我而言,我创建了一个 ldif 文件来激活约束模块:

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: constraint.la

另外还有一个配置它:

dn: olcOverlay=constraint,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcConstraintConfig
olcOverlay: constraint
olcConstraintAttribute: deviceLocation regex ^(EAST|WEST|CENTER)$

上传文件ldapadd并运行良好

相关内容