Personalizar la integración de canal de información web: Dar soporte a un mecanismo de autenticación personalizado

La característica de integración de canal de información web proporciona autenticación básica, con o sin SSL, y la autenticación de certificado de cliente con SSL. Si el sistema CMS no da soporte a estos tipos, puede ampliar la infraestructura de autenticación.

Procedimiento

  1. Abra HCL Commerce Developer.
  2. En función de los requisitos de la empresa, efectúe uno de los siguientes pasos:
    1. Genere un mediador de objeto de negocio personalizado utilizando la infraestructura de carga de datos.
    2. Utilice un mediador de objeto de negocio existente.
  3. Localice el proyecto WebSphereCommerceServerExtensionsLogic. Añada los archivos Foundation-DataLoad-FEP.jar y Foundation-DataLoad.jar a la vía de acceso de construcción del proyecto. Añada los demás archivos JAR dependiente a la vía de acceso de clases.
  4. En el proyecto WebSphereCommerceServerExtensionsLogic, cree una clase Java que amplía com.ibm.commerce.foundation.dataload.http.CustomAuthHTTPConnector.
  5. Modifique el método necesario public abstract HttpClient createHttpClient()throws HTTPConnectionException; para dar soporte al nuevo mecanismo de autenticación. Esta clase también puede utilizar los parámetros proporcionados en el archivo de configuración del canal de información. Para utilizar estas propiedades, use la siguiente plantilla de código: getConfigProperties().getKey("name1");
  6. Empaquete la clase de autenticación personalizada y las clases ayudantes del proyecto WebSphereCommerceServerExtensionsLogic en un archivo JAR.
  7. Si no existe, cree el directorio WCDE_installdir\ext\lib.
  8. Copie el archivo JAR en el directorio WCDE_installdir\ext\lib.
    Los archivos JAR personalizados se colocan en este directorio.
  9. En el archivo Web-feed-config.xml especifique la clase de autenticación personalizada y sus propiedades.
    <?xml version="1.0" encoding="UTF-8"?>
    <config:CMSConfiguration>
    	....
    	<config:feedEndPoint>
    		<config:content>
    			....
    		</config:content>
    		<!-- If the web feeds are secure, specify the security related information here. -->
    			<config:securityConfiguration>
    			<!-- When the system generating feeds uses an authentication
                         mechanism other than basic authentication and client certificate authentication, 
    			a custom authentication type needs to be specified. -->
    			<config:customAuth>
    				<!-- This is the name of the custom authenticator class that 
                                extends the abstract class CustomAuthHTTPConnector. 
    				This class must be available in the classpath. -->
    				<config:handler>Class Name of your custom authentication class 
                                goes here...</config:handler>
    				<!-- List of name-value pairs that need to be supplied to
                                the custom authenticator -->
    				<config:property name="name1" value="value1"/>
    				<config:property name="name2" value="value2"/>
    			</config:customAuth>
    			<!-- Use SSL configuration, if required. -->
    			<config:SSLConfiguration>
    					...
    			</config:SSLConfiguration>
    		</config:securityConfiguration>
    	</config:feedEndPoint>
    	....
    	<config:dataLoadConfigFile generate="true" envFileLocation=
           "test-dataload-env.xml">/temp/wc-dataload-config.xml</config:dataLoadConfigFile>
    </config:CMSConfiguration>