Configuration de Réinitialiser le mot de passe pour utiliser des codes de validation courts
Important : Cette version de ce sujet s'applique aux versions HCL Commerce 9.1.7.0 et ultérieures. Pour configurer la génération des codes de validation dans les versions précédentes, voir Configuration de Réinitialiser le mot de passe pour utiliser des codes de validation longs.
Lorsqu'un client demande une modification de mot de passe, vous pouvez configurer la fonction Réinitialiser le mot de passe pour lui envoyer un code de validation numérique court. Avant la version 9.1.7.0, le code de validation était long, jusqu'à 100 caractères. Vous pouvez toujours utiliser le code de validation de code long, mais cette approche est obsolète et sera abandonnée dans une édition ultérieure.
Les codes de validation sont générés et utilisés dans les cas suivants :
- Un utilisateur enregistré clique sur Mot de passe oublié. Une fois que l'utilisateur répond correctement à une question secrète, un code de validation à six chiffres est envoyé par e-mail à l'utilisateur. L'utilisateur entre ensuite le code de validation et un nouveau mot de passe pour mettre à jour son mot de passe. Le code de validation n'est valide que pour la valeur de délai de connexion spécifiée dans ResetPasswordGuestCmdImpl.getExpiryPeriod(),qui est définie dans wc-server.xml, et est de 30 minutes par défaut. Sinon, le code de validation expire.
- Un administrateur demande une réinitialisation de mot de passe pour le compte d'un utilisateur enregistré. Un code de validation est envoyé par e-mail à l'utilisateur. L'utilisateur enregistré doit suivre la procédure indiquée dans l'e-mail et entrer le code de validation, le nouveau mot de passe, et vérifier le mot de passe pour modifier le mot de passe du compte.
Remarque :
- Les utilisateurs peuvent modifier la propriété retryCountThreshold en modifiant la méthode
ResetPasswordGuestPersistValidationCmdImpl.getValidationCodeRetryCountThreshold, ce qui leur permet de définir le nombre maximal de tentatives du code de validation. - Les utilisateurs peuvent modifier les propriétés validationCodeLength et expiryPeriod en remplacement des méthodes getValidationCodeLength et getExpiryPeriod de la classe
ResetPasswordGuestCmdImpl, ce qui leur permet de définir respectivement la longueur du code de validation et la durée d'expiration du code de validation.
Pour mettre à jour la fonctionnalité Réinitialiser le mot de passe pour qu'elle génère des codes de validation numériques, mettez à jour la table de base de données CMDREG.
Procédure
-
Mettez à jour la table de base de données
CMDREGpour activer les codes de validation numériques.update cmdreg set properties='persistentValidationCode=true' where interfacename ='com.ibm.commerce.security.commands.ResetPasswordGuestCmd' and storeent_id = storeId; update cmdreg set properties='persistentValidationCode=true' where interfacename ='com.ibm.commerce.security.commands.ResetPasswordCmd' and storeent_id = storeId; update cmdreg set properties='persistentValidationCode=true' where interfacename ='com.ibm.commerce.security.commands.ResetPasswordAdministratorCmd' and storeent_id = storeId; -
Modifiez les fichiers JSP du magasin.
Pour un exemple de page de code de validation, consultez Pages Mot de passe oublié, Enter Validation Code et Changer le mot de passe dans le magasin type Aurora.
- Redémarrez le serveur ou mettez à jour le registre CMDREG dans la console d'administration pour appliquer les modifications.