URL de connexion (Logon)

Cette URL est utilisée pour la connexion des utilisateurs à un magasin ou à un site.

Utilisez cette adresse URL avec SSL (Secure Sockets Layer) pour garantir le chiffrement du mot de passe de connexion et des informations personnelles du client. Pour ce faire, entrez l'URL avec le protocole sécurisé HTTPS.

Avertissement : Utilisez HTTP POST uniquement avec cette URL. En utilisant HTTP GET, les mots de passe peuvent être enregistrés dans l'historique du navigateur ou dans les journaux des serveurs Web.

Structure de l'adresse URL

http://host_name/path/
Nom qualifié complet du serveur HCL Commerce et chemin de configuration

Valeurs des paramètres

langId
Définit ou réinitialise la langue préférée pour la durée de la session ; les langues prises en charge dans le magasin sont répertoriées dans la table STORELANG.
URL
Adresse URL à appeler une fois que la commande a abouti.
storeId
Numéro de référence du magasin auquel l'utilisateur est en train de se connecter
logonId
ID de connexion de l'utilisateur enregistré.
logonPassword
Mot de passe de l'utilisateur enregistré.
reLogonURL
Adresse URL appelée lorsque la commande échoue
rememberMe
Facultatif. Spécifie qu'il faut mémoriser l'utilisateur après la fermeture du navigateur. Ce paramètre ne fonctionne que si une session persistante est activée.

Exemple 1

L'exemple qui suit connecte le client avec l'ID de connexion henry et le mot de passe h48smith au magasin portant la référence 10101, puis affiche la page d'accueil.

https://myhostname/webapp/wcs/stores/servlet/Logon?logonId=henry&logonPassword=h48smith&URL=TopCategoriesDisplay&
       reLogonURL=LogonForm&storeId=10101&catalogId=10101&langId=-1

Comportement

Pour valider l'autorisation de l'utilisateur à se connecter, les vérifications suivantes doivent être effectuées :
  1. Vérifier que le compte de l'utilisateur n'est pas désactivé. (Cette opération n'est pas effectuée en mode LDAP.)
  2. Vérifier que la connexion est autorisée. La stratégie de blocage de compte définit la durée d'attente entre un échec de mot de passe et le moment ou une nouvelle tentative est autorisée.
  3. Vérifier que le mot de passe entré par l'utilisateur est exact.
  4. Vérifier que le compte utilisateur est approuvé.
  5. Vérifier qu'aucune organisation parent de l'utilisateur n'est verrouillée.
  6. Vérifier que l'utilisateur a un rôle dans l'organisation actuelle du magasin.
En mode LDAP, si des données d'identification valides sont saisies, les rôles par défaut définis dans MemberRegistrationAttributes.xml sont affectés à l'utilisateur.
En mode non LDAP, que des données d'identification valides aient été saisies ou non, l'instruction de tâche AccountLockoutPolicyCmd est appelée pour mettre à jour les informations de stratégie relatives au compte utilisateur :
  • Stratégie de blocage du compte :
    • USERREG.PASSWORDRETRIES est incrémenté à chaque échec du mot de passe.
    • Après un trop grand nombre d'échecs, USERREG.STATUS est mis à 0 et le compte utilisateur est désactivé.
  • Règles sur les mots de passe :
    • Lorsqu'un mot de passe est trop ancien, USERREG.PASSWORDEXPIRED est mis à 1 et le mot de passe expire.
  • L'instruction de tâche AccountLockoutPolicyCmd ne fait rien si le mode LDAP est utilisé.
Après une connexion réussie, les opérations suivantes sont également effectuées :
  1. Les ressources de l'utilisateur sont migrées, le cas échéant, à partir du compte invité.
  2. Le contexte de l'instruction est mis à jour avec l'identité de l'utilisateur authentifié.
  3. En mode non LDAP, si la fonction d'invalidation du mot de passe est activée et le mot de passe a expiré, l'utilisateur est dirigé vers l'affichage ChangePassword.
  4. Si la connexion a lieu après la fermeture de session par la fonction de délai d'expiration, l'utilisateur est dirigé vers l'URL d'origine spécifiée au moment de la fermeture.
Le flux de comportement détaillé est le suivant :
  • Appel de l'instruction de tâche VerifyCredentialsCmd, qui appelle l'une des tâches suivantes :

    Ce flux garantit que l'ID de connexion et le mot de passe sont corrects.

  • Appel des tâches suivantes :
    • AccountLockoutPolicyCmd
    • AuthenticationPolicyCmd
    • MigrateUserEntriesCmd (Cette tâche doit toujours être définie. Une implémentation par défaut est disponible.)
      • Par défaut, cette commande ne fusionne pas le panier des utilisateurs invités et inscrits. Vous pouvez configurer la commande pour fusionner le panier en effectuant l'une des tâches suivantes :
        • Réglage MemberSubSystem/MergeCartsAtAuthentication/enabled dans le wc-server.xml vers true
        • Définition du paramètre mergeCart dans les propriétés de requête de la commande sur true.
  • Vérification de l'éventuelle expiration du mot de passe, et redirection vers la vue ChangePassword si c'est le cas.
  • Si l'une des organisations parent auxquelles un client ou un administrateur appartient est verrouillée, ces utilisateurs ne peuvent pas se connecter au magasin.
  • Avec la commande Logon, les utilisateurs se connectent à un magasin, et non à un site. Si l'utilisateur ne dispose d'aucun rôle dans l'organisation du magasin ou de l'une de ses organisations parent, WebSphere Commerce n'autorise pas l'utilisateur à se connecter au magasin.
  • Si l'enregistrement de l'utilisateur est en attente d'approbation, HCL Commerce n'autorise pas celui-ci à se connecter au magasin.
Pour activer la connexion simultanée, voir Activation du support de connexion multiple pour le même utilisateur. Pour comprendre le comportement par défaut, considérez ce scénario où la connexion simultanée n'est pas prise en charge : Deux utilisateurs d'une entreprise partagent régulièrement un compte dans un magasin. Supposons que le premier utilisateur soit sur la page du paiement, et que le second utilisateur se connecte juste avant la soumission de la commande. Les événements suivants sont la suite complète d'événements :
  1. Navigateur un ... L'utilisateur 1 se connecte en tant que xyz ; ajoute un article dans le panier.
  2. Navigateur deux ... L'utilisateur 2 se connecte également en tant que xyz, va sur la page du panier et procède au paiement.
  3. Navigateur un ... L'utilisateur 1 clique sur le paiement, mais est informé qu'il n'est pas connecté.
  4. Navigateur deux ... L'utilisateur 2 termine le processus de paiement de façon normale.
Prenons un autre exemple, celui d'une société dont tous les employés utilisent le même utilisateur commun pour faire leurs achats dans un magasin interentreprise. Either only one user should use the common user ID at a time, or each user should be set up with their own user ID. Dans le cas contraire, l'un des utilisateurs n'est probablement pas terminé leurs transactions.
Remarque : Si le mot de passe d'un utilisateur est NULL dans la base de données, le mot de passe doit être réinitialisé lorsque l'utilisateur se connecte. Le mot de passe de l'utilisateur est réinitialisé automatiquement, quel que soit le mot de passe qu'il entre. Un courrier électronique lui est ensuite envoyé avec un mot de passe temporaire qu'il peut utiliser pour se connecter et définir son mot de passe. Vous pouvez désactiver la réinitialisation automatique lorsque le mot de passe a pour valeur null lors de la connexion en désactivant la propriété configurable suivante dans le fichier de configuration d'instance :
MemberSubSystem/ResetPassword/resetNullPasswordEnabled
Cette propriété est activée par défaut lorsque la fonction de base est activée. Si vous la désactivez, un utilisateur doit entrer la réponse à une demande d'authentification afin de réinitialiser le mot de passe null. Ensuite, il reçoit un mot de passe temporaire pour se connecter et définir son nouveau mot de passe.

Vous pouvez configurer la fonctionnalité de réinitialisation de mot de passe pour qu'elle émette des codes de validation aux utilisateurs plutôt que des mots de passe temporaires. Pour plus d'informations, voir Configuration de Réinitialiser le mot de passe pour utiliser des codes de validation longs.

Conditions d'exception

Le gestionnaire d'erreurs, ECConstants.EC_ERROR_CODE, capture le code d'erreur, qui peut être l'un des codes ci-dessous.
Explication Code d'erreur
ID de connexion manquant ECSecurityConstants.ERR_MISSING_LOGONID (2000)
ID de connexion non valide ECSecurityConstants.ERR_INVALID_LOGONID (2010)
Mot de passe manquant ECSecurityConstants.ERR_MISSING_PASSWORD (2020)
Mot de passe non valide ECSecurityConstants.ERR_INVALID_PASSWORD (2030)
Le compte est désactivé ECSecurityConstants.ERR_DISABLED_ACCOUNT (2110)
HCL Commerce Version 9.1.6.0 or laterLe compte est verrouillé ECSecurityConstants.ERR_LOCKED_OUT_ACCOUNT(2490)
Mot de passe trop court ou trop long ECSecurityConstants.ERR_LENGTH_PASSWORD (2120)
Tentative de connexion trop proche du dernier échec. ECSecurityConstants.ERR_LOGON_NOT_ALLOWED (2300)
L'une de vos organisations parent est verrouillée. ECSecurityConstants.ERR_PARENT_ORG_LOCKED (2400)
Vous ne disposez d'aucun rôle dans l'organisation du magasin ou des ses parents. ECSecurityConstants.ERR_NOT_REGISTERED_CUSTOMER (2410)
Votre enregistrement est en cours d'approbation. Attendez qu'il soit approuvé pour vous connecter. ECSecurityConstants.ERR_USER_IN_PENDING_APPROVAL (2420)