控制已认证的用户对内部服务类型的访问

传统的:
Business Automation Workflow 的早期版本中,您可以使用 executeServiceByNameURL 并且没有基于服务类型的访问限制。 相反,仅供内部使用的服务可供所有已认证的用户使用。 尽管此版本的 Business Automation Workflow 包含的行为现在会验证使用 executeServiceByNameURL ,一个 enforce-correct-service-type-for-execute-service-by-name为了向后兼容,引入了配置设置。 您可以将此设置添加到 100Custom.xml 文件中,并用它来特意地允许已认证的用户调用内部服务类型。

关于本任务

如果未设置 enforce-correct-service-type-for-execute-service-by-name 配置设置,或已使用 true 值设置此配置设置,那么系统将阻止已认证的用户调用内部服务类型。 然而,如果已使用 false 值设置配置设置,那么系统将允许已认证的用户调用内部服务类型。

如果您希望接受缺省行为,并阻止已认证的用户调用内部服务类型,那么您仍可以启动向已登录用户公开的人员服务,还可以启动 AJAX 服务。 但是,除非满足以下所有要求,否则您无法启动其他服务:

  • 请求在 Workflow Center上进行处理。
  • 请求由 Process Designer 在回放会话中发出。
  • 发出请求的用户是 tw_authors 组成员。
  • 向发出请求的用户授予对流程应用程序的 Read 访问权。

如果有任何失败的服务,那么应查看这些服务以确保其公开为 URL 并向当前用户公开。 如果您在修正应用程序时需要恢复到过去的行为,可通过完成以下过程中的步骤来允许所有已认证的用户调用内部服务类型:

过程

  1. 停止 IBM® Workflow ServerWorkflow Center 的服务器。
  2. 打开每个 100Custom.xml 文件。 有关需要更新的各个 100Custom.xml 文件及其位置的信息,请参阅主题 100Custom 配置文件的位置
  3. 在每个 100Custom.xml 文件中,在 <properties> 元素下添加 enforce-correct-service-type-for-execute-service-by-name 设置和关联元素,如以下示例中所示:
    <server>
       <web-workflow-manager>
          <enforce-correct-service-type-for-execute-service-by-name merge="replace">false</enforce-correct-service-type-for-execute-service-by-name>
       </web-workflow-manager>
    </server>
    (如果您愿意的话,可在以后将值更改为 true,以阻止已认证的用户调用内部服务类型。)
  4. 在每个 100Custom.xml 文件中,保存更改。
  5. 在浏览器中,打开每个 100Custom.xml 文件以确保其不包含特殊字符。
  6. 请完成下列其中一个步骤:
    • 在集群环境中,通过强制同步并重新启动部署环境来确保将更改传播到节点。
    • 在独立服务器环境中,重新启动服务器。