UID 唯一性插件可用于实现任何属性的唯一性。您必须在目录的 cn=plugins,cn=config 下创建新条目,以创建此插件的新实例。
无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。
创建新插件。
$ dsconf create-plugin -h host -p port -H lib-path -F init-func \ -Y type plugin-name |
plugin-name 应该是简短的描述性名称,其中包含属性名称。例如,要创建一个插件以实现邮件 ID 属性的唯一性,请使用以下命令:
$ dsconf create-plugin -h host1 -p 1389 -H /opt/SUNWdsee/ds6/lib/uid-plugin.so \ -F NSUniqueAttr_Init -Y preoperation "mail uniqueness" |
设置插件属性。
$ dsconf set-plugin-prop -h host -p port plugin-name property:value |
例如,要设置邮件唯一性插件的属性,请使用以下命令:
$ dsconf set-plugin-prop -h host1 -p 1389 "mail uniqueness" \ desc:"Enforce unique attribute values..." version:6.0 \ vendor:"Sun Microsystems, Inc." depends-on-type:database |
启用插件。
$ dsconf enable-plugin -h host -p port plugin-name |
指定插件参数。
这些参数取决于要实现唯一性的子树的确定方式。
要根据子树的基 DN 定义一个或多个子树,则第一个参数必须是应具有唯一值的属性的名称。后面的参数是这些子树基条目的完整 DN。
$ dsconf set-plugin-prop -h host -p port plugin-name argument:attribute-name \ argument:subtreeBaseDN argument:subtreeBaseDN... |
要在现有参数列表中添加参数,请使用以下命令:
$ dsconf set-plugin-prop -h host -p port plugin-name argument+:argument-value |
要根据子树基条目的对象类定义子树,则第一个参数必须包含 attribute=attribute-name(用于指定应具有唯一值的属性的名称)。第二个参数必须是 baseObjectClass(用于确定要实现唯一性的子树的基条目)。也可以选择在第三个参数中指定 entryObjectClass,以便插件只在特定操作(以具有此对象类的条目为目标)中实现唯一性。
$ dsconf set-plugin-prop -h host -p port plugin-name argument:attribute=attribute-name \ argument:markerObjectClass=baseObjectClass argument:requiredObjectClass=entryObjectClass |
在所有插件参数中,= 符号的前后不能出现空格。
重新启动服务器以使更改生效。