要在 Liberty 上对 J2C 连接启用 syncToOSThread,可以将 appSecurity-1.0 和 zosSecurity-1.0 功能部件与其他配置一起使用。
开始之前
对 J2C 连接启用 syncToOSThread 支持时,需要 appSecurity-1.0 和 zosSecurity-1.0 功能部件。您还必须定义 syncToOSThread 配置元素。此外,您也必须使用 SAF 注册表进行认证,而且授权 SAF 服务必须可用。
因为 syncToOSThread 支持需要授权 SAF 服务,所以 Angel 进程必须启动且运行,而且服务器必须连接至该进程。有关 Angel 进程的更多信息,请参阅 z/OS 上的进程类型。
过程
- 要配置服务器以对 J2C 连接启用 syncToOSThread,请添加 appSecurity-1.0 和 zosSecurity-1.0 功能部件,并使用 j2cEnabled="true" 属性来定义 syncToOSThread 配置元素。此外,确保必须将 SAF 注册表用于认证:
<featureManager>
<feature>appSecurity-1.0</feature>
<feature>zosSecurity-1.0</feature>
</featureManager>
<safRegistry id="saf" />
<syncToOSThread j2cEnabled="true" />
注: - 对于使用指定 res-auth=container 的资源的连接,设置 j2cEnabled=true 将对 2 类 J2C 连接启用 syncToOSThread。启用
syncToOSThread 会在建立连接期间使 Java™ RunAs 身份与操作系统身份同步。此连接因此与操作系统身份相关联,并被分配操作系统身份的许可权和特权。
- 如果希望使用 syncToOSThread,请不要对数据源指定 JAAS 别名。JAAS 别名如果定义,那么将覆盖操作系统身份。
- 要授予服务器许可权来执行 syncToOSThread 操作,请使用下列任一概要文件来配置 SAF 产品:
- 授予服务器的用户标识对 FACILITY 类中 BBG.SYNC.<profilePrefix 概要文件的 CONTROL 访问权。这可让服务器将任何 RunAs 身份与操作系统身份同步:
PERMIT BBG.SYNC.<profilePrefix> ID(<serverUserId>) ACCESS(CONTROL) CLASS(FACILITY)
- 授予服务器的用户标识对 FACILITY 类中 BBG.SYNC.<profilePrefix> 概要文件的 READ 访问权。此外,授予服务器的用户标识对 SURROGATE 类中一个或多个 BBG.SYNC.<runAsUserId> 概要文件(要与操作系统身份同步的每个 RunAs 身份的概要文件)的 READ 访问权:
PERMIT BBG.SYNC.<profilePrefix> ID(<serverUserId>) ACCESS(READ) CLASS(FACILITY)
PERMIT BBG.SYNC.<runAsUserId> ID(<serverUserId>) ACCESS(READ) CLASS(SURROGAT)
注: 缺省情况下,<profilePrefix> 为“BBGZDFLT”,并且可以通过在配置文件中使用 <safCredentials profilePrefix="xx"> 来对其进行配置。
有关 syncToOSThread 的更多信息,请参阅 WebSphere Application Server for z/OS 文档中有关 Java 线程身份和操作系统线程身份的信息。