定義 z/OS® Connect 攔截程式

z/OS® Connect 提供一種架構,可讓攔截程式或方法使用服務呼叫、狀態、啟動或停止等作業。攔截程式為 OSGi 服務,會實作 z/OS Connect 提供的 com.ibm.wsspi.zos.connect.Interceptor 服務提供者介面 (SPI)。

關於這項作業

您可以基於各種目的來使用攔截程式。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 延伸。 這些攔截程式必須將其 meta 類型定義到 Liberty 伺服器,並且建立 com.ibm.wsspi.zos.connect.Interceptor 類別的實作。在本例中,使用定義了 usr_userInterceptorOne 和 usr_userInterceptorTwo 元素的 meta 類型,來建立這個類別的實作。提供攔截程式清單的配置元素名稱是 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) 的資料集中。授權攔截程式可讓您驗證已鑑別的現行使用者是否有權執行所要求的動作。 檢查的動作範例包含 service action=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