Sun Java System Directory Server Enterprise Edition 6.3 管理指南

Procedure实现其他属性的唯一性

UID 唯一性插件可用于实现任何属性的唯一性。您必须在目录的 cn=plugins,cn=config 下创建新条目,以创建此插件的新实例。

无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。

  1. 创建新插件。


    $ 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"
  2. 设置插件属性。


    $ 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
  3. 启用插件。


    $ dsconf enable-plugin -h host -p port plugin-name
    
  4. 指定插件参数。

    这些参数取决于要实现唯一性的子树的确定方式。

    • 要根据子树的基 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
      

    在所有插件参数中,= 符号的前后不能出现空格。

  5. 重新启动服务器以使更改生效。