Instruction ResetPassword
Redéfinit ou met à jour les mots de passe dans la base de données.
Cette instruction peut être utilisée par :
- Les utilisateurs enregistrés et les administrateurs, pour mettre à jour leur mot de passe respectif.
- Les utilisateurs enregistrés souhaitant se connecter mais qui ont oublié leur mot de passe. Ils utilisent cette
instruction pour réinitialiser leur mot de passe sans se connecter.
Un mot de passe généré ensuite de manière aléatoire est envoyé par courrier électronique à l'utilisateur invité.
Utilisez cette instruction avec la connexion sécurisée (SSL) pour vous assurer que le mot de passe de connexion de l'utilisateur et les informations personnelles sont chiffrés. Pour ce faire, saisissez l'instruction avec le protocole de
transport hypertexte sécurisé (HTTPS).
Valeur des paramètres
- http://host_name/path/
- Nom qualifié complet et chemin de configuration de votre serveur WebSphere Commerce Server.
- langId
- Définit ou restaure la langue préférée pour la durée de la session ; les langues prises en charge pour un
magasin figurent dans la table STORELANG.
- forUser
- ID de connexion de l'utilisateur pour le compte de qui l'instruction est exécutée. Seule une personne appartenant au groupe d'accès Représentant du service clientèle (c'est-à-dire jouant ce rôle de sécurité) peut indiquer ce paramètre.
- forUserId
- Identique au paramètre forUser, mais identification de l'utilisateur par l'ID utilisateur interne indiqué dans la table USERS.
- URL
-
URL devant être lancée lorsque l'instruction aboutit.
- storeId
- Numéro de référence d'un magasin.
- reLogonURL
- URL vers laquelle l'instruction ResetPassword est redirigée en cas d'erreur.
- logonId
-
ID de connexion de l'utilisateur dont le mot de passe doit être redéfini.
- challengeAnswer
-
Réponse à la confirmation d'identité utilisée pour confirmer l'identité de l'utilisateur.
- logonPassword
- Nouveau mot de passe de l'utilisateur
- logonPasswordOld
-
Mot de passe actuel de l'utilisateur
- logonPasswordVerify
-
Mot de passe de confirmation de l'utilisateur (doit être identique à logonPassword)
Exemple 1
Cet exemple redéfinit un mot de passe en fournissant l'ID de connexion et la confirmation d'identité pour les utilisateurs enregistrés qui souhaitent mettre à jour leur mot de passe :
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonId=a&challengeAnswer=a
Si l'utilisateur est un client enregistré ou un administrateur, l'instruction
vérifie que l'ancien mot de passe est correct et que le nouveau
correspond au mot de passe de confirmation. Elle vérifie également que le mot de passe est conforme aux règles de mot de
passe utilisateur. Si toutes les conditions sont satisfaites, elle met à jour la base de données avec le nouveau mot de passe.
Exemple 2
Cet exemple redéfinit un mot de passe en spécifiant l'ancien mot de passe et le nouveau pour les visiteurs qui ont oublié leur mot de passe d'utilisateur enregistré :
https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
&logonPasswordOld=a&logonPassword=b&logonPasswordVerify=b
Si l'utilisateur est un visiteur, l'instruction vérifie que la réponse donnée à la question de confirmation d'identité
correspond à celle indiquée dans la base de données. Si la réponse correspond bien, elle génère un mot de
passe arbitraire, met à jour la base de données et envoie le mot de passe
par courrier électronique au client (identifié par la valeur du paramètre logonId).
Comportement
- Cette instruction appelle les instructions suivantes :
- L'instruction vérifie les paramètres obligatoires. S'ils sont manquants ou incorrects, elle définit l'une des tâches
d'erreur avec les codes d'erreur appropriés.
- Si l'utilisateur est un visiteur, elle vérifie que la réponse donnée à la question de confirmation d'identité
correspond à celle indiquée dans la base de données. Si la réponse correspond bien, elle génère un mot de
passe arbitraire, met à jour la base de données et envoie le mot de passe
par courrier électronique au client (identifié par la valeur du paramètre logonId).
- Si l'utilisateur est un client enregistré ou un administrateur, l'instruction
vérifie que l'ancien mot de passe est correct et que le nouveau
correspond au mot de passe de confirmation. Elle vérifie également que le mot de passe est conforme aux règles de mot de
passe utilisateur. Si toutes les conditions sont satisfaites, elle met à jour la base de données avec le nouveau mot de passe.
- Lorsque l'instruction a abouti, elle appelle l'URL indiquée.
- Les utilisateurs auxquels a été attribué un mot de passe généré par l'instruction de réinitialisation de mot de passe devront le modifier lors de la première connexion.
- L'instruction de réinitialisation du mot de passe crée un mot de passe temporaire, qui doit être modifié à la première connexion (cela s'applique uniquement aux utilisateurs qui sont authentifiés pour la base de données
WebSphere Commerce).
Condition d'exception
En cas d'erreur, si vous avez indiqué une URL de fenêtre d'erreur dans le paramètre reLogonURL,
l'instruction ResetPassword est redirigée vers cette URL et un code d'erreur est placé dans la demande. Sinon, si vous n'utilisez pas le paramètre reLogonURL, l'instruction renvoie une exception
ECApplicationException puis est redirigée vers une fenêtre d'erreur dépendant de l'identité de l'utilisateur. Vous pouvez obtenir le code d'erreur en utilisant la classe ErrorDataBean.
Si un paramètre requis manque ou est incorrect, l'instruction ResetPassword définit l'un des codes d'erreur suivants,
en fonction de l'identité du demandeur. Ces codes d'erreur sont ajoutés à l'URL de fenêtre d'erreur indiquée si vous utilisez le paramètre reLogonURL.
Fenêtre d'erreur basée sur l'identité :
- Utilisateur enregistré
- ResetPasswordRegisterErrorView
- Visiteur
- ResetPasswordGuestErrorView
Conditions d'erreur et codes d'erreur associés :
Demandeur de l'instruction |
Condition d'erreur et code d'erreur associé |
Visiteur ou utilisateur connecté |
- Paramètre URL manquant.
- ECSecurityConstants.ERR_MISSING_REDIRECTURL
Remarque : dans ce cas, l'instruction est redirigée vers la fenêtre d'erreur ResetPasswordView. |
Visiteur |
- Le paramètre logonId est manquant.
- ECSecurityConstants.ERR_MISSING_LOGONID
- L'ID de connexion spécifié n'appartient pas à un utilisateur enregistré valide.
- ECSecurityConstants.ERR_INVALID_LOGONID
- La réponse de confirmation d'identité n'a pas été fournie.
- ECSecurityConstants.ERR_MISSING_CHALLENGEANSWER
- La réponse de confirmation d'identité fournie est incorrecte.
- ECSecurityConstants.ERR_INVALID_CHALLENGEANSWER
- L'adresse électronique correspondant à l'ID de connexion fourni est manquante.
- ECSecurityConstants.ERR_MISSING_EMAIL
- Le compte utilisateur est désactivé.
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
Utilisateur connecté |
- Le paramètre logonPasswordOld est manquant.
- ECSecurityConstants.ERR_MISSING_OLDPASSWORD
- Le paramètre logonPassword est manquant.
- ECSecurityConstants.ERR_MISSING_NEWPASSWORD
- Le paramètre logonPasswordVerify est manquant.
- ECSecurityConstants.ERR_MISSING_NEWPASSWORDVERIFY
- Les paramètres logonPassword et logonPasswordVerify ne correspondent pas.
- ECSecurityConstants.ERR_MISMATCH_PASSWORDS
- L'utilisateur connecté a fourni un ancien mot de passe incorrect.
- ECSecurityConstants.ERR_INVALID_OLDPASSWORD
- Le mot de passe est trop court.
- ECSecurityConstants.ERR_MINIMUMLENGTH_PASSWORD
- Le nombre de caractères consécutifs de ce type est supérieur au nombre maximal autorisé.
- ECSecurityConstants.ERR_MAXCONSECUTIVECHAR_PASSWORD
- Le nombre d'instances de caractères de ce type est supérieur au nombre maximal autorisé.
- ECSecurityConstants.ERR_MAXINTANCECHAR_PASSWORD
- Le mot de passe ne contient pas le nombre de lettres minimal requis.
- ECSecurityConstants.ERR_MINIMUMLETTERS_PASSWORD
- Le mot de passe ne contient pas le nombre de caractères numériques minimal requis.
- ECSecurityConstants.ERR_MINIMUMDIGITS_PASSWORD
- Le mot de passe ne correspond pas à l'ID utilisateur.
- ECSecurityConstants.ERR_USERIDMATCH_PASSWORD
- Le mot de passe ne peut pas être identique au mot de passe précédent.
- ECSecurityConstants.ERR_REUSEOLD_PASSWORD
- Le compte utilisateur est désactivé.
- ECSecurityConstants.ERR_DISABLED_ACCOUNT
|
Le gestionnaire de traitement d'erreurs est ECConstants.EC_ERROR_CODE.
