Implementación de una señal de propagación personalizada para la propagación de atributos de seguridad

En este tema se explica cómo puede crear su propia implementación de señal de propagación, que se establece en la hebra de ejecución y se propaga en sentido descendente.

Acerca de esta tarea

La señal de propagación predeterminada es generalmente suficiente para que se propaguen los atributos que no son específicos para usuario. Escriba su propia implementación si desea lograr cualquiera de las acciones siguientes tareas:
  • Aislar los atributos en su propia implementación.
  • Serializar la información mediante una serialización personalizada. Debe deserializar los bytes en el destino y añadir esa información de nueva en la hebra conectando un módulo de inicio de sesión personalizado a las configuraciones de inicio de sesión del sistema de entrada. Esta tarea también puede incluir el cifrado y descifrado.

Para implementar una señal de propagación personalizada, debe realizar los pasos siguientes:

Procedimiento

  1. Escriba una implementación personalizada de la interfaz PropagationToken. Hay varios métodos distintos para implementar la interfaz PropagationToken. No obstante, asegúrese de que los métodos necesarios para la interfaz PropagationToken y la interfaz de señales estén completamente implementados.

    [AIX Solaris HP-UX Linux Windows][z/OS]Después de implementar esta interfaz, puede colocarla en el directorio raíz_servidor_apl/classes. Alternativamente, puede ubicar la clase en cualquier directorio privado. Sin embargo, asegúrese de que el cargador de clases de WebSphere Application Server pueda localizar la clase y que se le otorguen los permisos adecuados. Puede añadir el archivo JAR (Java™ Archive) o directorio que contiene esta clase en el archivo server.policy para que tenga los permisos que necesita el código de servidor.

    [IBM i]Tras implementar esta interfaz, puede colocarla en el directorio raíz_perfil/classes. Si desea más información sobre las clases, consulte Creación de un subdirectorio de clases en el perfil para clases personalizadas.

    Consejo: Todos los tipos de señales definidas por la infraestructura de propagación tienen interfaces similares. Los tipos de señales son interfaces de marcador que implementan la interfaz com.ibm.wsspi.security.token.Token. Esta interfaz define la mayoría de los métodos. Si tiene pensado implementar más de un tipo de señal, piense en crear una clase abstracta que implemente la interfaz com.ibm.wsspi.security.token.Token. Es posible que todas las implementaciones de las señales, incluido la señal de propagación, amplíen la clase abstracta y, con ello, la mayoría del trabajo habrá finalizado.

    Para ver una implementación de la señal de propagación, consulte Ejemplo: Implementación de com.ibm.wsspi.security.token.PropagationToken

  2. Añada y reciba la señal de propagación personalizada durante los inicios de sesión de WebSphere Application Server. Esta tarea concluye generalmente con la adición de un módulo de inicio de sesión personalizado a las distintas configuraciones de inicio de sesión del sistema y aplicaciones. También puede añadir la implementación desde una aplicación. No obstante, para deserializar la información, debe conectar un módulo de inicio de sesión personalizado, que se analiza en Propagación de un objeto serializable Java personalizado para la propagación de atributos de seguridad. La clase WSSecurityPropagationHelper tiene las API que se utilizan para establecer una señal de propagación en la hebra y recuperarlo de la hebra para realizar actualizaciones.

    El ejemplo de código en el apartado Ejemplo: módulo de inicio de sesión de señal de propagación personalizado muestra cómo determinar si el inicio de sesión es inicial o de propagación. La diferencia entre estos tipos de inicios de sesión consiste en si el retorno de llamada WSTokenHolderCallback contiene datos de propagación o no. Si la devolución de llamada no contiene datos de propagación, inicialice una nueva implementación de señal de propagación y establézcala en la hebra. Si la devolución de llamada contiene datos de propagación, busque la instancia de señal de propagación TokenHolder personalizada, convierta la matriz de bytes al objeto PropagationToken personalizado y vuelva a establecerlo en la hebra. El ejemplo de código muestra ambas instancias.

    Puede añadir atributos siempre que se añada la señal de propagación personalizada a la hebra. Si añade atributos entre solicitudes y cambia el método getUniqueId, la sesión de cliente CSIv2 (Common Secure Interoperability Versión 2) se invalida para que pueda enviar la nueva información en sentido descendente. La adición de atributos entre las solicitudes pueden afectar al rendimiento. En muchos casos, es recomendable que las solicitudes en sentido descendente reciban la nueva información de señales de propagación.

    Para añadir la señal de propagación personalizada a la hebra, llame al método WSSecurityPropagationHelper.addPropagationToken. Esta llamada requiere el permiso de la seguridad de Java 2 WebSphereRuntimePerMission "setPropagationToken".

  3. Añada el módulo de inicio de sesión personalizado a las configuraciones de inicio del sesión del sistema WebSphere Application Server que ya contengan el módulo de inicio de sesión com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule para recibir versiones serializadas de la señal de propagación personalizada. Asimismo, puede añadir este módulo de inicio de sesión a cualquiera de los inicios de sesión de aplicación donde desee generar la señal de propagación personalizada en la hebra durante el inicio de sesión. Alternativamente, puede generar la implementación de PropagationToken personalizado desde dentro de la aplicación. No obstante, para deserializarla, debe añadir la implementación a los módulos de inicio de sesión del sistema.

    Para obtener más información sobre como añadir el módulo de inicio de sesión a las configuraciones de inicio de sesión existentes, consulte Desarrollo de módulos de inicio de sesión personalizados para una configuración de inicio de sesión del sistema para JAAS.

Resultados

Después de realizar estos pasos, habrá completado un PropagationToken personalizado.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_custpropimpl
File name: tsec_custpropimpl.html