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

IBM® BPM 的先前发行版中,您可以使用 executeServiceByName URL 来调用服务且根据服务类型无任何访问限制。 相反,仅供内部使用的服务可供所有已认证的用户使用。 虽然 IBM BPM 的本发行版现在可验证使用 executeServiceByName URL 执行的调用的服务类型,但也引入了 enforce-correct-service-type-for-execute-service-by-name 配置设置以支持向后兼容。 您可以将此设置添加到 100Custom.xml 文件中,并用它来特意地允许已认证的用户调用内部服务类型。

关于此任务

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

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

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

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

过程

  1. 停止 IBM Process ServerProcess Center 的服务器。
  2. 打开每个 100Custom.xml 文件。 有关需要更新的个别 100Custom.xml 文件及其位置的信息,请参阅主题100Custom 配置文件的位置
  3. 在每个 100Custom.xml 文件中,将 enforce-correct-service-type-for-execute-service-by-name 设置及关联元素添加到 <properties> 元素下方,如下例所示:
    <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. 请完成下列其中一个步骤:
    • 在集群环境中,请通过强制同步并重新启动部署环境来确保将更改传播到节点。
    • 在独立服务器环境中,重新启动服务器。