Implementación de una señal de autenticació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 autenticación, que se establece en el sujeto de inicio de sesión y se propaga en sentido descendente.

Acerca de esta tarea

Con esta implementación, puede especificar una señal de autenticación que pueden utilizar una aplicación o un módulo de inicio de sesión personalizados. 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 utilizando la serialización personalizada. Debe deserializar los bytes en el destino y añadir dicha información a la hebra de nuevo. Esta tarea también puede incluir el cifrado y descifrado.
  • Tener un efecto en la exclusividad general del sujeto mediante la API getUniqueID.
Importante: El tiempo de ejecución de seguridad no utiliza implementaciones de señales de autenticación personalizadas en WebSphere Application Server para forzar la autenticación. El tiempo de ejecución de seguridad de WebSphere Application sólo utiliza esta señal en las siguientes situaciones:
  • Método getBytes para la serialización
  • Llame al método getForwardable para determinar si se serializa la señal de autenticación.
  • Método getUniqueId para la exclusividad
  • Llame a los métodos getName y getVersion para añadir bytes deserializados al contenedor de señales que se envía en sentido descendente
Todos los demás usos son implementaciones personalizadas.

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

Procedimiento

  1. Escriba una implementación personalizada de la interfaz AuthenticationToken. Hay varios métodos distintos para implementar la interfaz AuthenticationToken. No obstante, asegúrese de que los métodos necesarios para la interfaz AuthenticationToken y la interfaz de señales estén completamente implementados. 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.
    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 autenticación, amplíen la clase abstracta y, con ello, la mayoría del trabajo habrá finalizado.

    Para ver una implementación de la interfaz AuthenticationToken, consulte Ejemplo: implementación de com.ibm.wsspi.security.token.AuthenticationToken

  2. Añada y reciba la señal de autenticació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. No obstante, para deserializar la información, debe conectar un módulo de inicio de sesión personalizado. Después de crear una instancia del objeto en el módulo de inicio de sesión, puede añadir el objeto al sujeto durante el método commit.

    Si sólo desea añadir información al sujeto para que se propague, consulte Propagación de un objeto serializable Java personalizado para la propagación de atributos de seguridad. Si quiere garantizar que se propague la información, realizar su propia serialización personalizada o bien especificar la exclusividad con el fin de almacenar el sujeto en memoria caché, piense en escribir su propia implementación de señal de autenticación.

    El ejemplo de código que aparece en Ejemplo: módulo de inicio de sesión de señal de autenticación 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 autenticación personalizada y establézcala en el sujeto. Si la devolución de llamada contiene datos de propagación, busque la instancia específica de señal de autenticación TokenHolder personalizada, convierta la matriz de byte al objeto AuthenticationToken personalizado y vuelva a establecerlo en el sujeto. El ejemplo de código muestra ambas instancias.

    Puede hacer que la señal de autenticación sea de sólo lectura en la fase de compromiso del módulo de inicio de sesión. Si no crea la señal de sólo lectura, los atributos se pueden añadir en las aplicaciones.

  3. Añada el módulo de inicio de sesión personalizado a las configuraciones de inicio de 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 autorización personalizada.

    Como este módulo de inicio de sesión se basa en la información del estado compartido añadido por el módulo de inicio de sesión com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule, añádalo después del módulo de inicio de sesión com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule. Para obtener más información sobre como añadir el módulo de inicio de sesión personalizado 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 una señal de autenticación personalizada.

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_custauthentimpl
File name: tsec_custauthentimpl.html