4.2. 通过对象类配置属性唯一插件
您可以配置 Attribute Uniqueness 插件,以确保属性的值在包含特定对象类的条目中是唯一的。要配置插件,您必须设置以下配置参数:
-
uniqueness-top-entry-oc.此参数唯一标识插件验证属性唯一性的子树。该插件仅在这些父条目中的条目中验证唯一性,其中包含您在uniqueness-top-entry-oc中设置的特定对象类。如果目录服务器在更新条目的父条目中没有找到对象类,则搜索将继续到目录树的根目录。 -
uniqueness-subtree-entries-oc.此参数标识插件必须检查哪些条目。当您在uniqueness-subtree-entries-oc参数中设置对象类时,插件仅在包含此特定对象类的更新条目中验证属性的唯一性。
使用以下示例流程将 mail 属性设置为在包含 nsContainer 对象类集的条目下的所有条目中唯一,并使用插件在包含 inetOrgPerson 对象类的条目中搜索 mail 属性。
前提条件
- 有目录管理器权限。
流程
创建新的插件配置条目:
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq add "Mail Uniqueness with OC" --attr-name mail --subtree-entries-oc=inetOrgPerson --top-entry-oc=nsContainer
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq add "Mail Uniqueness with OC" --attr-name mail --subtree-entries-oc=inetOrgPerson --top-entry-oc=nsContainerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 命令创建带有
OC,cn=plugins,cn=config 条目的 cn=Mail Uniqueness,带有配置的uniqueness-top-entry-oc和uniqueness-subtree-entries-oc插件参数。可选:设置插件必须从属性唯一验证中排除的子树。
例如,如果您希望插件跳过
ou=internal,ou=sales,dc=example,dc=com子树,使用ldapmodify工具来设置uniqueness-exclude-subtrees参数:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在服务器上启用插件:
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq enable "Mail Uniqueness with OC"
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq enable "Mail Uniqueness with OC"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启实例:
dsctl instance_name restart
# dsctl instance_name restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
查看配置条目详情:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow