Ajout d'un contrôle d'accès aux extensions

Vous pouvez associer un point d'extension avec une action de contrôle d'accès. Vous pouvez configurer HCL Commerce pour vérifier si l'utilisateur actuel peut effectuer l'action avant que le code d'extension soit invoqué et transmettre le résultat au code d'extension via le contexte de contrôle d'accès.

La procédure suivante fournit un exemple pour associer un point d'extension à l'action "CSRAction" pour vérifier si l'utilisateur actuel est un représentant du service clientèle.

Avant de commencer

  • Enregistrez le code d'extension xC pour les magasins qui doivent utiliser l'extension.

Procédure

  1. Dans votre environnement de développement, utilisez l'utilitaire de chargement de données pour charger les données afin de mettre à jour l'enregistrement d'une extension afin d'inclure les modifications de contrôle d'accès.
    1. Enregistrez le fichier CSV suivant dans le répertoire WCDE_installdir/samples/DataLoad/xC.
      Le fichier ajoute le contrôle d'accès pour une extension qui valide la quantité de commande. Dans le fichier ,
      • Notez que la colonne Propriétés contient la paire nom-valeur AccessControlActions=CSRAction. En définissant la propriété AccessControlActions, vous associez le point d'extension validate_quantity à l'action de contrôle d'accès CSRAction.
      • Assurez-vous de spécifier un entier unique pour la colonne UEConfigId dans le fichier CSV. L'échantillon utilise 1.
    2. Chargez les données dans la base de données . Pour plus d'informations, voir Affectation du code d'extension aux points d'extension.
  2. Dans votre code d'implémentation externalized customization, utilisez la méthode suivante pour obtenir la valeur booléenne résultant de la vérification de contrôle d'accès pour CSRAction :
    boolean csrAction = Boolean.parseBoolean(ueRequest.getContextData().getAccessControlContext().get("CSRAction"));
  3. À l'aide de la valeur booléenne résultante, définissez votre implémentation logique à l'aide de la valeur de contrôle d'accès.
    Par exemple,
    if(csrAction) {
    // CSR-specific logic
    }else{
    // Non-CSR logic
    }