24.3 添加自定义处理程序

自定义处理程序在 DRA 中用于属性特性相互交互以完成工作流程任务,以及用于在工作流程、属性或创建表单中装载和提交自定义。

属性自定义处理程序

属性自定义处理程序的一些示例包含:

  • 查询其他字段的值

  • 更新字段值

  • 切换字段的只读状态

  • 根据配置的变量显示或隐藏字段

表单装载处理程序

表单装载处理程序通常会执行初始化控件。最初加载表单时,其仅执行一次。对于属性页,将在查询服务器以获取所选对象的属性前执行。

表单提交处理程序

表单提交处理程序允许用户进行一些类型的验证,如果出现问题,则可能会取消表单提交。

有关在 Web 控制台中使用自定义处理程序和自定义的更多详细示例,请参阅 DRA 文档页面上 Product Customization(产品自定义)中的 Web Console Customization(Web 控制台自定义)和 Workflow Customization(工作流程自定义)部分。

启用自定义 JavaScript

出于安全原因,默认情况下禁用自定义 JavaScript。启用自定义 JavaScript 使管理员能够编写 JavaScript 代码片段,而 Web 控制台将按原样执行。只有在您了解并接受风险时,才应启用此例外项。

要启用自定义以包含自定义 JavaScript 代码:

  1. 导航到 C:\ProgramData\NetIQ\DRARESTProxy 位置。

  2. 打开 restProxy.config 文件。

  3. 将 allowCustomJavaScript="true" 添加到 <consoleConfiguration> 元素。

24.3.1 创建自定义处理程序的基本步骤:

以下步骤从预先选择的自定义处理程序页面开始。为此,您可以通过属性字段上的属性图标访问对象属性自定义处理程序。您可以通过所选工作流程表单、“创建对象”页面或“编辑属性”页面上的表单属性按钮,访问表单装载和表单提交处理程序。

  1. 根据要自定义的属性或页面选择适用的处理程序选项卡:

    • 自定义处理程序

    • 表单装载处理程序

    • 表单提交处理程序

  2. 启用处理程序页面 ,然后执行任意下列操作:

    • 属性字段自定义处理程序:

      1. 选择执行时间。一般情况下,您会使用“执行时间”的第二个或第三个选项。

      2. 单击 + Add(+ 添加),然后从 Add Custom Handler(添加自定义处理程序)菜单中选择自定义处理程序。

    • 表单处理程序:单击 + Add(+ 添加),然后从 Add Custom Handler(添加自定义处理程序)菜单中选择自定义处理程序。

    注:通常您可能只需要一个自定义处理程序,但可以使用多个处理程序。多个处理程序会按列出的顺序执行。如果要更改处理程序的顺序或跳过不需要的处理程序,则可以在脚本中添加流控制宏。

  3. 您需要配置添加到页面的每个自定义处理程序。配置选项因处理程序类型而异。

    您可以创建自己的处理程序类型。

    • LDAP 或 REST 查询处理程序:

      1. 如果希望查询基于静态值,请定义连接信息和查询参数。

        如果希望查询是动态的,请在必填字段中输入占位符值。这是处理程序执行所必需的。脚本将覆盖占位符值。

        注:您还可以为 REST 查询配置标题和 Cookie。

      2. 在预查询操作中,使用脚本编辑器编写将在提交查询前执行的自定义 JavaScript 代码。此脚本可以访问所有连接信息和查询参数,并且可以修改其中任何项以自定义查询。例如,根据用户在表单中输入的值设置查询参数。

      3. 在查询后操作中,包含脚本以处理查询结果。常见任务包含检查错误,根据返回的结果更新表单值,以及根据查询返回的对象数验证对象唯一性。

    • 脚本: 插入自定义 JavaScript 代码以构建脚本。

    • DRA 查询: 在“查询参数”选项卡中,指定 JSON 有效负载。有效负载格式必须与将发送到 DRA 服务器的 VarSet 键或值对匹配。与 REST 和 LDAP 查询类似,您可以指定可用于在将有效负载提交给服务器前,修改有效负载的预查询操作,以及用于处理结果的查询后操作。

    • 讯息框处理程序: 定义讯息框本身的属性后,您还可以为显示前操作和关闭后操作编写 JavaScript 段。

      这些均为可选操作。“显示前操作”用于在向用户显示任何讯息框属性前对其进行自定义,而“关闭后操作”用于处理用户的按钮选择并据此执行任何其他逻辑。

  4. 单击确定保存处理程序。

有关在 Web 控制台中使用自定义处理程序和自定义的更多详细示例,请参阅 DRA 文档页面上 Product Customization(产品自定义)中的 Web Console Customization(Web 控制台自定义)和 Workflow Customization(工作流程自定义)部分。