Dépannage : La réinitialisation des mots de passe ne fonctionne pas après la migration du magasin local
Après la migration d'un magasin d'une version antérieure de WebSphere Commerce vers HCL Commerce Version 9.1, également appelé magasin local migré, la réinitialisation du mot de passe ne fonctionne plus dans Management Center for HCL Commerce ou sur la vitrine basée sur Aurora.
Problème
Dans un magasin local migré, la réinitialisation des mots de passe pour les utilisateurs dans Management Center for HCL Commerce ou sur la vitrine basée sur Aurora ne fonctionne plus comme prévu.
Cela est dû au fait que la configuration RemoteStoreConfiguration est supprimée du fichier de configuration WC_installdir/xml/config/com.ibm.commerce.foundation/wc-component.xml pour les magasins locaux migrés.
Solution
- Copiez le fichier PasswordChangeConfirmationNotify.jsp Java Server Page aux emplacements suivants :
- Stores.war/EmailTemplates/User/
- Stores.war/AuroraB2BStorefrontAssetStore/EmailTemplates/User/
- Stores.war/AuroraStorefrontAssetStore/EmailTemplates/User/
- Modifiez le fichier de configuration Stores.war/WEB-INF/classes/struts-wcs-stores-custom.xml.Ajoutez le code de résultats suivant entre les blocs de résultats
PasswordNotifyViewetPasswordReEnterErrorView.<result name="PasswordResetConfirmationNotifyView/10651/-3" type="wcsstore"> <param name="implClassName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl</param> <param name="interfaceName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommand</param> <param name="location">/EmailTemplates/User/PasswordChangeConfirmationNotify.jsp</param> </result> <result name="PasswordResetConfirmationNotifyView/10701/-3" type="wcsstore"> <param name="implClassName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl</param> <param name="interfaceName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommand</param> <param name="location">/EmailTemplates/User/PasswordChangeConfirmationNotify.jsp</param> </result>Remarque : Remplacez 10651 et 10701 par les valeurs AuroraStorefrontAssetStore et AuroraB2BStorefrontAssetStore STOREENT_ID pour votre déploiement. - Modifiez le fichier de configuration Stores.war/WEB-INF/classes/struts-wcs-stores.xml.
- Ajoutez le résultat suivant entre les résultats nommés
PasswordNotifyViewetPickBatchGenerateErrorView.<result name="PasswordResetConfirmationNotifyView/0/-3"> <param name="direct">true</param> <param name="implClassName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl</param> <param name="interfaceName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommand</param> <param name="location">/EmailTemplates/User/PasswordChangeConfirmationNotify.jsp</param> <param name="properties">storeDir=no</param> <param name="resourceClassName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl</param> </result> - Ajoutez l'action suivante entre les actions nommées
defaultStoreActionet*.jsp.<action class="com.ibm.commerce.struts.v2.BaseAction" name="PasswordResetConfirmationNotifyView"> <param name="https">0:1</param> </action>
- Ajoutez le résultat suivant entre les résultats nommés
- Modifiez les deux fichiers de propriétés suivants :
- ts.ear/properties/PasswordResetNotification_en_US.properties
- ts.ear/properties/PasswordResetNotification.properties
Ajoutez le message suivant.PasswordResetNotification.MessagePart3=has been changed - Créez un élément de contenu marketing et associez-le à un emplacement e-marketing en exécutant les requêtes SQL suivantes sur votre base de données.
- Crée le contenu marketing.
INSERT INTO COLLATERAL (COLLATERAL_ID,STOREENT_ID,COLLTYPE_ID,NAME,URL,FIELD1,FIELD2,BEHAVIOR,UIDISPLAYABLE,MANAGINGTOOL,OVRMKTLIMIT,OPTCOUNTER) VALUES ((SELECT MAX(COLLATERAL_ID) AS COLLATERALID FROM COLLATERAL)+1, (SELECT STOREENT_ID FROM STOREENT WHERE STOREENT.IDENTIFIER='AuroraB2BESite'), 2, 'PasswordChangeConfirmationNotifyCenter_Content4',NULL,NULL, NULL,1,NULL,NULL,0,0); - Ajoutez une description et des valeurs au contenu marketing.
INSERT INTO COLLDESC VALUES ((SELECT MAX(COLLATERAL_ID) AS COLLATERALID FROM COLLATERAL), -1,NULL, '<p> Dear [userName],<br /><br /><br />This is to confirm that your password has been updated. <br /><br /><br />Thanks,<br />The [storeName] team</p><br />',NULL,NULL,NULL, 0); - Créer un emplacement e-marketing
INSERT INTO WCS.EMSPOT (EMSPOT_ID, STOREENT_ID, NAME, DESCRIPTION, SUPPORTEDTYPES, DEFAULTRULE, USAGETYPE, UIDISPLAYABLE, MANAGINGTOOL, OPTCOUNTER) VALUES((SELECT MAX(EMSPOT_ID) AS EMSPOTID FROM EMSPOT)+1, (SELECT STOREENT_ID FROM STOREENT WHERE STOREENT.IDENTIFIER='AuroraB2BESite'), 'PasswordChangeConfirmationNotifyCenter_Content4', '', NULL, NULL, 'MARKETING', NULL, NULL, 0); - Attachez l'emplacement e-marketing à la section de contenu par défaut.
INSERT INTO WCS.DMEMSPOTDEF (DMEMSPOTDEF_ID, EMSPOT_ID, STOREENT_ID, CONTENTTYPE, CONTENT, "SEQUENCE", OPTCOUNTER) VALUES((SELECT MAX(DMEMSPOTDEF_ID) AS DMEMSPOTDEFID FROM WCS.DMEMSPOTDEF)+1, (SELECT MAX(EMSPOT_ID) AS EMSPOTID FROM EMSPOT), (SELECT STOREENT_ID FROM STOREENT WHERE STOREENT.IDENTIFIER='AuroraB2BESite'), 'MarketingContent', (SELECT MAX(COLLATERAL_ID) AS COLLATERALID FROM COLLATERAL), 0.0, 1); - Répétez les étapes a. à d., mais dans chaque instruction SQL, remplacez
AuroraB2BESiteparAuroraESite.
- Crée le contenu marketing.
- Redémarrez Transaction server.
La fonction de réinitialisation de mot de passe sur la vitrine basée sur Aurora, ainsi que dans Management Center, fonctionne comme prévu.