Módulos de Mapeamento Principal do J2C

Você pode desenvolver seu próprio módulo de mapeamento J2C (J2EE Connector) se seu aplicativo exigir funções de mapeamento mais sofisticadas. O módulo de login de mapeamento que pode ter sido desenvolvido no WebSphere Application Server Versão 5.x ainda é suportado no WebSphere Application Server Versão 6.0.x e posterior.

É possível usar os módulos de login da Versão 5.x na configuração de mapeamento do connection factory. Esses módulos de login também podem ser utilizados na configuração de mapeamento de referência para a connection factory do gerenciador de recursos. Um módulo de login de mapeamento versão 5.x não pode utilizar as propriedades de mapeamento customizadas.

Se desejar desenvolver um novo módulo de login de de mapeamento na Versão 6.0.x e posterior, use a interface de programação que é descrita nas seções seção.

transição: Migre seu módulo de login de mapeamento Versão 5.x para utilizar o novo modelo de programação e as novas propriedades customizadas, assim como o isolamento da configuração de mapeamento no escopo do aplicativo. Observe que os módulos de login de mapeamento desenvolvidos com o WebSphere Application Server Versão 6.0.x não podem ser usados na configuração de mapeamento descontinuada para o connection factory de recursos.

Chamando o módulo de login para o mapeamento de referência de recurso

Uma classe com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandler, que implementa a interface javax.security.auth.callback.CallbackHandler, é uma nova WebSphere Application Service Provider Programming Interface (SPI) no WebSphere Application Server Versão 6.0.x.

O código de aplicativo utiliza a classe auxiliar com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandlerFactory para recuperar um objeto CallbackHandler:
package com.ibm.wsspi.security.auth.callback;

public class WSMappingCallbackHandlerFactory {
	private WSMappingCallbackHandlerFactory;
	public static CallbackHandler getMappingCallbackHandler(
ManagedConnectionFactory mcf,
HashMap mappingProperties);
}
A classe WSMappingCallbackHandler implementa a interface CallbackHandler:
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; 
}
A rotina de tratamento WSMappingCallbackHandler pode gerenciar dois novos tipos de retorno de chamada definidos na Versão 6.0.x:
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback 
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback

Os novos módulos de login utilizam os dois tipos de retorno de chamada utilizados na configuração de mapeamento de referência para a connection factory do gerenciador de recurso. O retorno de chamada WSManagedConnectionFactoryCallback fornece uma instância ManagedConnectionFactory configurada na credencial PasswordCredential. Com essa configuração, a instância ManagedConnectionFactory pode determinar se uma instância PasswordCredential é utilizada para conexão com a instância EIS (Enterprise Information Systems) de destino. O retorno de chamada WSMappingPropertiesCallback fornece um mapa hash que contém propriedades de mapeamento customizadas. A propriedade com.ibm.mapping.authDataAlias pode ser usada para reservar ou recuperar o Alias de Dados de Autenticação.

Nota: Nos exemplos anteriores, o valor do MCF é configurado na Credencial de Senha.
O identificador WSMappingCallbackHandle do WebSphere Application Server continua suportando os dois tipos de retorno de chamada do WebSphere Application Server Versão 5.x que módulos de login de mapeamento mais antigos podem usar. Os dois retornos de chamada definidos podem ser utilizados somente por módulos de login que a configuração de login utiliza na connection factory. Para compatibilidade com versões anteriores, o WebSphere Application Server Versão 6.0.x e posterior transmite o alias de dados de autenticação, se definido na lista de propriedades customizadas com o nome da propriedade com.ibm.mapping.authDataAlias usando o retorno de chamada WSAuthDataAliasCallback para os módulos de login da Versão 5.x:
com.ibm.ws.security.auth.j2c.WSManagedConnectionFactoryCallback 
com.ibm.ws.security.auth.j2c.WSAuthDataAliasCallback

Chamando o módulo de login para o mapeamento do connection factory

A classe WSPrincipalMappingCallbackHandler manipula dois tipos de retorno de chamada:
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback 
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback

O manipulador WSPrincipalMappingCallbackHandler e os dois retornos de chamada estão descontinuados no WebSphere Application Server Versão 6.

Passando as propriedades de recurso para a referência de recurso para o módulo de login de mapeamento

Você pode transmitir propriedades customizadas arbitrárias para seu módulo de login de mapeamento. O exemplo a seguir mostra como o módulo de login de mapeamento padrão do WebSphere Application Server procura a propriedade de alias dos dados de autenticação.

		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) {
	. . . // manipulação de erros
O módulo de login de mapeamento padrão do WebSphere Application Server Versão 6.0.x requer uma propriedade de mapeamento para definir o alias de dados de autenticação. A propriedade de mapeamento, chamada MAPPING_ALIAS, é definida no arquivo Constants.class, no pacote com.ibm.wsspi.security.auth.callback.

MAPPING_ALIAS    =   "com.ibm.mapping.authDataAlias"

Ao clicar em Usar método padrão > Selecionar autenticação de entrada de dados de autenticação no Mapear referências de recurso para painel de recursos, o console administrativo cria automaticamente uma entrada MAPPING_ALIAS com o valor do alias de autenticação selecionado nas propriedades de mapeamento. Se criar sua própria configuração de login customizada e depois utilizar o módulo de login de mapeamento padrão, você deve configurar essa propriedade manualmente nas propriedades de mapeamento para a referência do depósito de informações do provedor do recurso.

Em um módulo de login customizado, é possível utilizar o método WSSubject.getRunAsSubject para recuperar o objeto que representa a identidade do encadeamento atualmente em execução. A identidade do encadeamento atualmente em execução é conhecida como a identidade RunAs. O objeto RunAs em geral contém um proprietário WSPrincipal no conjunto de proprietários e uma credencial WSCredential no conjunto de credenciais públicas. A instância do objeto que é criada por seu módulo de mapeamento contém uma instância Principal no conjunto de proprietários e uma credencial PasswordCredential ou uma instância org.ietf.jgss.GSSCredential no conjunto de credenciais privadas.

A interface GenericCredential definida no Java Connector Architecture (JCA) Specification Versão 1.0 foi descontinuada na especificação do JCA Versão 1.5.


Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_pluginj2c
Nome do arquivo: rsec_pluginj2c.html