Módulos de correlación de principales J2C
Puede desarrollar su propio módulo de correlación J2C (J2EE Connector) si la aplicación requiere funciones de correlación más sofisticadas. El módulo de inicio de sesión de correlación que puede haber desarrollado en WebSphere Application Server Versión 5.x continúa teniendo soporte en WebSphere Application Server Versión 6.0.x y posterior.
Puede utilizar los módulos de inicio de sesión de la Versión 5.x de la configuración de la correlación de la fábrica de conexiones. Estos módulos de inicio de sesión también pueden utilizarse en la configuración de correlación de referencias de fábrica de conexiones del gestor de recursos. Un módulo de inicio de sesión de correlación de la versión 5.x no puede utilizar las propiedades de correlación personalizadas.
Si desea desarrollar un nuevo módulo de inicio de sesión de correlación en la Versión 6.0.x, utilice la interfaz de programación que se describe en los apartados siguientes.
Invocación del módulo de inicio de sesión para la correlación de referencias de recursos
Una clase com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandler que implementa la interfaz javax.security.auth.callback.CallbackHandler es una nueva interfaz de programación de servicios (SPI) de WebSphere Application Service en WebSphere Application Server Versión 6.0.x.
package com.ibm.wsspi.security.auth.callback;
public class WSMappingCallbackHandlerFactory {
private WSMappingCallbackHandlerFactory;
public static CallbackHandler getMappingCallbackHandler(
ManagedConnectionFactory mcf,
HashMap mappingProperties);
}
package com.ibm.wsspi.security.auth.callback;
public class WSMappingCallbackHandler implements CallbackHandler {
public WSMappingCallbackHandler(ManagedConnectionFactory mcf,
HashMap mappingProperties);
public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException;
}
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback
Los nuevos módulos de inicio de sesión utilizan los dos tipos de retorno de llamada que se utilizan en la configuración de correlación de referencias de fábrica de conexiones del gestor de recursos. El retorno de llamada WSManagedConnectionFactoryCallback proporciona una instancia de ManagedConnectionFactory que debe establecerse en la credencial PasswordCredential. Con este valor, la instancia ManagedConnectionFactory puede determinar si una instancia PasswordCredential se debe utilizar para iniciar la sesión en la instancia EIS (Enterprise Information Systems) de destino. El retorno de llamada WSMappingPropertiesCallback proporciona un mapa de totales de control que contiene propiedades de correlación personalizadas. La propiedad com.ibm.mapping.authDataAlias puede utilizarse para reservar o para recuperar el alias de datos de autenticación.
com.ibm.ws.security.auth.j2c.WSManagedConnectionFactoryCallback
com.ibm.ws.security.auth.j2c.WSAuthDataAliasCallback
Invocación del módulo de inicio de sesión para la correlación de fábricas de conexiones
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback
El manejador WSPrincipalMappingCallbackHandler y los dos retornos de llamada ya no se utilizan en WebSphere Application Server Versión 6.
Paso de las propiedades de correlación de la referencia de recursos al módulo de inicio de sesión de correlación
Puede pasar las propiedades personalizadas arbitrarias al módulo de inicio de sesión de correlación. En el ejemplo siguiente se muestra el aspecto del módulo de inicio de sesión de correlación por omisión de WebSphere Application Server para la propiedad de alias de datos de autenticación.
try {
wspm_callbackHandler.handle(callbacks);
String userID = null;
String password = null;
String alias = null;
wspm_properties = ((WSMappingPropertiesCallback)callbacks[1]).getProperties();
if (wspm_properties != null) {
alias = (String) wspm_properties.get(com.ibm.wsspi.security.auth.callback.
Constants.MAPPING_ALIAS);
if (alias != null) {
alias = alias.trim();
}
}
} catch (UnsupportedCallbackException unsupportedcallbackexception) {
. . . // error handling
MAPPING_ALIAS = "com.ibm.mapping.authDataAlias"
Al pulsar
en el panel Correlacionar referencias de recursos con los recursos, la consola administrativa crea de forma automática una entrada MAPPING_ALIAS con el valor de alias de datos de autenticación seleccionado en las propiedades de correlación. Si crea una configuración de inicio de sesión personalizada propia y, a continuación, utiliza el módulo de inicio de sesión de correlación por omisión, debe establecer esta propiedad manualmente en las propiedades de correlación de la referencia de fábrica de recursos.En un módulo de inicio de sesión personalizado, puede utilizar el método WSSubject.getRunAsSubject para recuperar el sujeto que representa la identidad de la hebra actual en ejecución. La identidad de la hebra actual en ejecución se conoce como identidad RunAs . El sujeto RunAs contiene normalmente un principal WSPrincipal en el conjunto de principales y una credencial WSCredential en el conjunto de credenciales públicas. La instancia del sujeto creada por el módulo de correlación contiene una instancia Principal en el conjunto de principales y una credencial PasswordCredential o una instancia org.ietf.jgss.GSSCredential en el conjunto de credenciales privadas.
La interfaz GenericCredential que se ha definido en la versión 1.0 de la especificación JCA (Java Connector Architecture) está en desuso en la versión 1.5 de la especificación JCA.