乐趣区

关于java:浅谈-Orbeon-form-builder-的权限控制

特定的 Form Builder 权限通过 WEB-INF/resources/config/form-builder-permissions.xml 进行配置。

如果您心愿多个类别的 Form Builder 用户在某些状况下编辑,例如,在 hr 应用程序中的表单,而其他人能够在销售应用程序中编辑表单,那么您须要设置 form-builder-permissions.xml。

留神:该文件以前称为 form-runner-roles.xml。

在此文件中,您将角色名称映射到应用程序和表单。例如,以下内容通知 Orbeon Forms,只有具备 hr-form-editor 角色的用户能力在 hr 应用程序中编辑或创立表单,并且只有具备 sales-form-editor 角色的用户能力在销售应用程序中编辑或创立表单。正如您能够从语法中推断出的那样,您能够更加具体,并且只容许具备给定角色的用户拜访特定应用程序中的特定表单。

<roles>
  <role name="hr-form-editor"    app="hr" form="*"/>
  <role name="sales-form-editor" app="sales" form="*"/>
</roles>

留神:每个 \<role\> 元素都称为单个角色名称。不能在 name 属性中搁置多个以空格分隔的角色。

Orbeon Forms 能够依据从容器或 HTTP 标头获取的信息推断以后用户的角色。以下两节具体介绍了这两种状况。一旦您定义了 form-builder-permissions.xml 并为容器驱动或标头驱动的角色实现了适当的设置,如下所述:

  • 表单生成器摘要页面将仅显示用户有权拜访的表单。
  • 当他们创立新表单时,如果用户无权在任何应用程序中创立表单,他们将看到一个下拉列表,其中列出了可能的应用程序,而不是看到能够输出应用程序名称的文本字段,如 如下图所示:

限度:此时不反对对 form-builder-permissions.xml 中表单名称的限度;仅反对对应用程序名称的限度。这意味着您应该始终应用 form=”*”。如果您定义对表单名称的限度,则不会在创立表单时强制执行,从而容许用户创立、保留和公布名称不合须要的表单。然而,当他们返回摘要页面时,他们将无奈看到他们创立的表单。

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

退出移动版