Personnalisation de l'intégration de flux Web : Prise en charge d'un mécanisme d'authentification personnalisé
La fonction d'intégration de flux Web fournit l'authentification de base, avec ou sans SSL et l'authentification par certificat client avec SSL. Si votre système CMS ne prend pas ces types en charge, vous pouvez étendre la structure d'authentification.
Procédure
- Ouvrez HCL Commerce Developer.
-
En fonction des besoins de votre entreprise, exécutez l'une des étapes suivantes :
- Générez un médiateur d'objet métier personnalisé à l'aide de l'infrastructure de chargement de données.
- Utilisez un médiateur d'objet métier existant
- Localisez le projet WebSphereCommerceServerExtensionsLogic. Ajoutez les fichiers Foundation-DataLoad-FEP.jar et Foundation-DataLoad.jar au chemin d'accès de génération du projet. Ajoutez les autres fichiers JAR dépendants au chemin de classes.
- Dans le projet WebSphereCommerceServerExtensionsLogic, créez une classe Java qui étend com.ibm.commerce.foundation.dataload.http.CustomAuthHTTPConnector.
-
Remplacez la méthode requise
public abstract HttpClient createHttpClient()throws HTTPConnectionException;pour prendre en charge le nouveau mécanisme d'authentification. Cette classe peut également utiliser des paramètres fournis dans le fichier de configuration de flux. Pour utiliser ces propriétés, utilisez le modèle de code suivant :getConfigProperties().getKey("name1"); - Regroupez la classe d'authentification personnalisée et des classes auxiliaires du projet WebSphereCommerceServerExtensionsLogic en un fichier JAR.
- S'il n'existe pas, créez le répertoire WCDE_installdir\ext\lib.
-
Copiez le fichier JAR dans le répertoire WCDE_installdir\ext\lib.
Les fichiers JAR personnalisés sont placés dans ce répertoire.
-
Dans le fichier Web-feed-config.xml pour spécifier la classe d'authentification personnalisée et ses propriétés.
<?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>