定义 z/OS® Connect 拦截器

z/OS® Connect 提供了一个框架,使拦截器或方法能够针对操作(例如,服务调用、状态、启动或停止)来运行。拦截器是用于实现 z/OS Connect 所提供的 com.ibm.wsspi.zos.connect.Interceptor 服务提供者接口 (SPI) 的 OSGi 服务。

关于此任务

可以将拦截器用于各种用途。z/OS Connect 对于将拦截器用于的对象不具有可视性。例如,拦截器可能会编写为在处理请求之前,根据消息有效内容来执行一些基础结构设置。z/OS Connect 向所有拦截器提供输入请求有效内容的副本。

z/OS Connect 提供了 <zosConnectService> 配置元素,使管理员能够配置一组适用于特定服务的属性。interceptorsRef 是这些属性中的一个属性,它指向用于列示要对特定服务运行的一个或多个拦截器的配置元素。

此任务描述如何定义 z/OS Connect 拦截器和拦截器列表,还说明了如何将拦截器与服务器的配置中的一项或多项服务相关联。此任务还描述了如何为服务启用 z/OS Connect 提供的审计拦截器和授权拦截器。

过程

  1. 更新 server.xml 配置中您想要对其启用拦截器或拦截器列表的每项服务的 <zosConnectService> 元素。
    <!--z/OS Connect service definitions -->
    <zosConnectService id="zcs1"
    	serviceName="recordOpsCreate" 
    	serviceRef="wolaOpsCreateService" 
    	interceptorsRef="opsCreateInterceptorList"/> 
  2. 创建关联 <zosConnectInterceptors> 元素。
    <!-- User Interceptor definitions -->
    <usr_userInterceptorOne id="userI1" sequence="1"/> 
    <usr_userInterceptorTwo id="userI2" sequence="2"/> 
    
    <zosConnectInterceptors id="opsCreateInterceptorList" interceptorRef="userI1, userI2"/> 
    此示例中的拦截器列表的名称是 greetingsInterceptorList。此处提到了两个拦截器,userI1userI2。拦截器实现使用 Liberty SPI 扩展。这些拦截器必须向 Liberty 服务器定义它们的元类型以及创建 com.ibm.wsspi.zos.connect.Interceptor 类的实现。在此示例中,使用用于定义 usr_userInterceptorOne 和 usr_userInterceptorTwo 元素的元类型创建了此类的实现。提供了拦截器列表的配置元素的名称为 interceptorsRef。它不是必需属性。
  3. 可选:创建全局拦截器列表,并在 <zosConnectManager> 元素中启用此列表。 globalInterceptorsRef 项是配置中的元素的名称,此元素描述适用于配置中所有服务的一组 z/OS Connect 拦截器。
    <zosConnectManager id="zosConnectGlobals" globalInterceptorsRef="GlobalInterceptors"/> 
    
    <!-- User Interceptor definitions -->
    <usr_userInterceptorOne id="userI1" sequence="1"/> 
    <usr_userInterceptorTwo id="userI2" sequence="2"/> 
    <zosConnectInterceptors id="globalInterceptors" interceptorRef="userI1, userI2"/> 
  4. 可选:对一个服务或者一组服务启用 z/OS Connect 提供的审计、授权或日志记录拦截器。 z/OS Connect 提供的审计拦截器将实现 com.ibm.wsspi.zos.connect.Interceptor SPI,以将审计或跟踪信息存储在 z/OS 系统管理设施 (SMF) 数据集中。授权拦截器能够验证当前已认证的用户是否有权执行所请求的操作。所检查的操作的示例包括服务操作 invoke、start 或 stop。在 z/OS Connect 服务器配置中对一项或多项服务启用这些拦截器。以下示例说明如何对单项服务同时启用审计拦截器和授权拦截器:
    <!-- z/OS Connect service definition -->  
    <zosConnectService id="zcs1"  
    	serviceName="recordOpsCreate"  
    	serviceRef="wolaOpsCreateService"  
    	interceptorsRef="opsCreateInterceptorList1"/>   
    
    <!-- Audit and authorization interceptor definitions -->  
    <authorizationInterceptor id="authInterceptor1" sequence="1"/>  
    <auditInterceptor id="auditInterceptor1" sequence="2"/>   
    
    <zosConnectInterceptors id="opsCreateInterceptorList1" interceptorRef="auditInterceptor1, authInterceptor1"/> 

用于指示主题类型的图标 任务主题

文件名:twlp_zconnect_interceptor.html