z/OS® Connect proporciona una infraestructura que permite que los
interceptores o los métodos trabajen con operaciones como, por ejemplo, la invocación, la
consulta del estado, el inicio o la detención de un servicio. Los interceptores son servicios OSGi que implementan la SPI (Service Provider Interface - interfaz del proveedor de servicio) com.ibm.wsspi.zos.connect.Interceptor que proporciona z/OS Connect.
Acerca de esta tarea
Puede utilizar los interceptores con diversas finalidades. z/OS Connect no tiene visibilidad sobre el uso de un interceptor. Por ejemplo, un interceptor se puede haber escrito para realizar cierta configuración de la infraestructura que se basa en la carga útil de mensajes antes de procesar la solicitud.
z/OS Connect proporciona una copia de la carga útil de solicitudes de entrada a todos los interceptores.
z/OS Connect proporciona el elemento de configuración <zosConnectService> que permite que el administrador configure un conjunto de atributos que se aplican a un servicio determinado. Uno de estos atributos es interceptorsRef, que apunta a un elemento de configuración que lista uno o varios interceptores en ejecución para un servicio específico.
Esta tarea describe cómo definir un interceptor de z/OS Connect y una lista de interceptores y también explica cómo asociar los interceptores a uno o varios servicios en la configuración de un servidor. Esta tarea también incluye una descripción de cómo habilitar los interceptores de auditoría y autorización que proporciona z/OS Connect para los servicios.
Procedimiento
- Actualice el elemento <zosConnectService> para cada servicio de su configuración server.xml para el que desee habilitar un interceptor o una lista de interceptores.
<!--Definiciones de servicios de z/OS Connect -->
<zosConnectService id="zcs1"
serviceName="recordOpsCreate"
serviceRef="wolaOpsCreateService"
interceptorsRef="opsCreateInterceptorList"/>
- Cree el elemento <zosConnectInterceptors> asociado.
<!-- Definiciones del interceptor de usuarios -->
<usr_userInterceptorOne id="userI1" sequence="1"/>
<usr_userInterceptorTwo id="userI2" sequence="2"/>
<zosConnectInterceptors id="opsCreateInterceptorList" interceptorRef="userI1, userI2"/>
El nombre de la lista de interceptores de este ejemplo es greetingsInterceptorList.
Hay dos interceptores a los que se hace referencia aquí, userI1 y userI2. Las implementaciones del interceptor utilizan las extensiones de la SPI de Liberty. Estos interceptores deben definir sus metatypes para el servidor Liberty y crear una implementación de la clase com.ibm.wsspi.zos.connect.Interceptor. En este ejemplo, se ha creado una implementación de esta clase con un metatype que define los elementos usr_userInterceptorOne y usr_userInterceptorTwo. El nombre del elemento de configuración donde se proporciona la lista de interceptores se denomina interceptorsRef. No es un atributo necesario.
- Opcional: cree una lista de interceptores globales y habilítela en el elemento <zosConnectManager>. El elemento globalInterceptorsRef es el nombre del elemento en la configuración que describe el conjunto de interceptores
de z/OS Connect que se aplican a todos los servicios de la configuración.
<zosConnectManager id="zosConnectGlobals" globalInterceptorsRef="GlobalInterceptors"/>
<!-- Definiciones del interceptor de usuarios -->
<usr_userInterceptorOne id="userI1" sequence="1"/>
<usr_userInterceptorTwo id="userI2" sequence="2"/>
<zosConnectInterceptors id="globalInterceptors" interceptorRef="userI1, userI2"/>
- Opcional: habilite los interceptores de auditoría, autorización o registro proporcionados por
z/OS Connect para un servicio o un conjunto de servicios. El interceptor de auditoría proporcionado con z/OS Connect implementa la SPI com.ibm.wsspi.zos.connect.Interceptor para almacenar información de auditoría o seguimiento en los conjuntos de datos SMF (System Management Facility) de z/OS. El
interceptor de autorización proporciona la capacidad de verificar
que el usuario autenticado actual tiene la autoridad para realizar
la acción solicitada. Los ejemplos de acciones que se marcan incluyen service action=invoke, start, o
stop. Estos interceptores se habilitan para un servicio o más de uno en la configuración del servidor de
z/OS Connect. El ejemplo siguiente muestra cómo se habilitan los interceptores de auditoría y autorización para un solo servicio:
<!-- Definición de servicio de z/OS Connect -->
<zosConnectService id="zcs1"
serviceName="recordOpsCreate"
serviceRef="wolaOpsCreateService"
interceptorsRef="opsCreateInterceptorList1"/>
<!-- Definiciones del interceptor de auditoría y autorización -->
<authorizationInterceptor id="authInterceptor1" sequence="1"/>
<auditInterceptor id="auditInterceptor1" sequence="2"/>
<zosConnectInterceptors id="opsCreateInterceptorList1" interceptorRef="auditInterceptor1, authInterceptor1"/>