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

Esta tarea le explica cómo puede crear su propia implementación de AuthorizationToken, que se establece en el sujeto de inicio de sesión y se propaga en sentido descendente.

Acerca de esta tarea

El AuthorizationToken por omisión es generalmente suficiente para los atributos 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 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().

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

Procedimiento

  1. Escriba una implementación personalizada de la interfaz AuthorizationToken. Hay varios métodos para implementar la interfaz AuthorizationToken. No obstante, asegúrese de que los métodos necesarios para la interfaz AuthorizationToken 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_aplicaciones/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]Después de implementar esta interfaz, colóquela 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. Básicamente, 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 AuthorizationToken, amplíen la clase abstracta y, con ello, la mayoría del trabajo habrá finalizado.

    Para ver una implementación de AuthorizationToken, consulte Ejemplo: Implementación de com.ibm.wsspi.security.token.AuthorizationToken

  2. Añada y reciba la señal AuthorizationToken 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, que se analiza en Propagación de un objeto serializable Java personalizado para la propagación de atributos de seguridad. 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 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 AuthorizationToken.

    El ejemplo de código en el apartado Ejemplo: Módulo de conexión AuthorizationToken personalizadomuestra 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 WSTokenHolderCallback contiene datos de propagación o no. Si el retorno de llamada no contiene datos de propagación, inicialice una nueva implementación de AuthorizationToken y establézcala en el sujeto. Si el retorno de llamada contiene datos de propagación, busque la instancia de AuthorizationToken TokenHolder personalizada, convierta el byte[] al objeto AuthorizationToken personalizado y vuelva a establecerlo en el sujeto. El ejemplo de código muestra ambas instancias.

    Puede realizar el AuthorizationToken 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 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 sharedState añadido por com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule, añádalo después de com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule. Para obtener más información sobre cómo 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á implementado un AuthorizationToken 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_custauthimpl
File name: tsec_custauthimpl.html